Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คำขอ GET และ POST โดยใช้ Python Programming


สามารถใช้ Python เพื่อเข้าถึงหน้าเว็บและโพสต์เนื้อหาไปยังหน้าเว็บได้ มีโมดูลต่างๆ เช่น httplib, urllib, httplib2 เป็นต้น แต่โมดูลคำขอนั้นง่ายที่สุดและสามารถใช้ในการเขียนโปรแกรมที่ง่ายกว่าแต่มีประสิทธิภาพซึ่งเกี่ยวข้องกับวิธี GET และ POST

วิธี GET

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

ตัวอย่าง

import requests

req = requests.get('https://www.tutorialspoint.com/')

# Page encoding
e = req.encoding
print("Encoding: ",e)

# Response code
s = req.status_code
print("Response code: ",s)

# Response Time
t = req.elapsed
print("Response Time: ",t)


t = req.headers['Content-Type']
print("Header: ",t)

z = req.text
print("\nSome text from the web page:\n",z[0:200])

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Encoding: UTF-8
Response code: 200
Response Time: 0:00:00.103850
Header: text/html; charset=UTF-8

Some text from the web page:

วิธีการโพสต์

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

ในตัวอย่างด้านล่าง เราโพสต์ข้อมูลบางส่วนไปยังเว็บไซต์ httpbin.org ผ่านวิธีการโพสต์ และรับคำตอบเกี่ยวกับวิธีการโพสต์

ตัวอย่าง

import requests
in_values = {'username':'Jack','password':'Hello'}
res = requests.post('https://httpbin.org/post',data = in_values)
print(res.text)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

{
"args": {},
"data": "",
"files": {},
"form": {
"password": "Hello",
"username": "Jack"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "28",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.22.0",
"X-Amzn-Trace-Id": "Root=1-5ef75488-969f97a68bb72642b97b6d50"
},
"json": null,
"origin": "122.xxx.yy.zzz",
"url": "https://httpbin.org/post"
}