Python - คำขอ HTTP ที่กำหนดเอง

Hypertext Transfer Protocol (HTTP) เป็นโปรโตคอลที่ใช้เพื่อเปิดใช้งานการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์ ทำงานเป็นโปรโตคอลตอบสนองคำขอระหว่างไคลเอนต์และเซิร์ฟเวอร์ อุปกรณ์ที่ร้องขอเรียกว่าไคลเอนต์และอุปกรณ์ที่ส่งการตอบกลับเรียกว่าเซิร์ฟเวอร์

urllib เป็นไลบรารี python แบบดั้งเดิมซึ่งใช้ในโปรแกรม python เพื่อจัดการคำขอ http แต่ตอนนี้มี urllib3 ซึ่งทำมากกว่า urllib ที่เคยทำ เรานำเข้าไลบรารี urllib3 เพื่อดูว่า python สามารถใช้เพื่อสร้างคำขอ http และรับการตอบกลับได้อย่างไร เราสามารถกำหนดประเภทคำขอได้เองโดยเลือกวิธีการร้องขอ

Pip install urllib3

ตัวอย่าง

ในตัวอย่างด้านล่างเราใช้ออบเจ็กต์ PoolManager () ซึ่งดูแลรายละเอียดการเชื่อมต่อของคำขอ http ต่อไปเราใช้ออบเจ็กต์ request () เพื่อสร้างคำขอ http ด้วยวิธีการ POST สุดท้ายเรายังใช้ไลบรารี json เพื่อพิมพ์ค่าที่ได้รับในรูปแบบ json

import urllib3
import json
http = urllib3.PoolManager()
r = http.request(
    'POST',
    'http://httpbin.org/post',
    fields={'field': 'value'})
print json.loads(r.data.decode('utf-8'))['form']

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

{field': value'}

URL โดยใช้แบบสอบถาม

เรายังสามารถส่งผ่านพารามิเตอร์การค้นหาเพื่อสร้าง URL ที่กำหนดเอง ในตัวอย่างด้านล่างวิธีการร้องขอจะใช้ค่าในสตริงการสืบค้นเพื่อเติม URL ให้สมบูรณ์ซึ่งฟังก์ชันอื่นในโปรแกรม python สามารถใช้เพิ่มเติมได้

import requests
 
query = {'q': 'river', 'order': 'popular', 'min_width': '800', 'min_height': '600'}
req = requests.get('https://pixabay.com/en/photos/', params=query)
 
print(req.url)

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

https://pixabay.com/en/photos/?q=river&min_width=800&min_height=600&order=popular