คำขอ Python: สิ่งที่คุณต้องรู้



บล็อกนี้จะแนะนำคุณเกี่ยวกับโมดูลการร้องขอ python โดยละเอียด คุณจะคุ้นเคยกับคำขอ GET และ POST วัตถุเซสชันคุกกี้และส่วนหัว

Python ร้องขอกระเป๋าเกือบ 400,000 ดาวน์โหลดทุกวัน ตัวเลขนี้ชัดเจนเพียงพอที่จะเข้าใจเกี่ยวกับความนิยมของสิ่งนี้ . ในช่วงไม่กี่ปีที่ผ่านมาภาษาการเขียนโปรแกรม python ได้กลายเป็นภาษาโปรแกรมที่ต้องการมากที่สุดสำหรับนักพัฒนาจำนวนมาก แนวคิดและไลบรารีเช่นคำขอเป็นหนึ่งในหลายสาเหตุที่ทำให้นักพัฒนาเปลี่ยนจากภาษาโปรแกรมอื่นเป็นภาษาไพ ธ อน ในบล็อกนี้เราจะพูดถึงหัวข้อต่อไปนี้:

คำขอ Python คืออะไร?

คำขอ Python เขียนโดย Kenneth Reitz และได้รับอนุญาตภายใต้ apache 2.0 เป็นไลบรารี HTTP ที่เป็นมิตรกับมนุษย์ตามที่กล่าวไว้ในหน้าเอกสารอย่างเป็นทางการ ใช้งานง่ายและโดยทั่วไปใช้สำหรับการร้องขอ HTTP ทุกประเภท ต่อไปนี้เป็นคุณสมบัติขั้นสูงบางประการที่ขอมาพร้อมกับ:
  1. รักษาชีวิตและการเชื่อมต่อร่วมกัน
  2. โดเมนและ URL ระหว่างประเทศ
  3. เซสชันที่มีการคงอยู่ของคุกกี้
  4. การตรวจสอบ SSL แบบเบราว์เซอร์
  5. การถอดรหัสเนื้อหาอัตโนมัติ
  6. การพิสูจน์ตัวตนพื้นฐาน / แยกย่อย
  7. คุกกี้คีย์ / ค่าที่สวยงาม
  8. การบีบอัดอัตโนมัติ
  9. ร่างกายตอบสนอง Unicode
  10. การสนับสนุนพร็อกซี HTTPs
  11. การอัปโหลดไฟล์หลายส่วน
  12. การดาวน์โหลดสตรีมมิ่ง
  13. หมดเวลาการเชื่อมต่อ
  14. คำขอเป็นกลุ่ม
นี่คือคุณสมบัติขั้นสูงทั้งหมดของไลบรารีคำขอ python ลองทำความเข้าใจว่าเหตุใดเราจึงใช้คำขอ python ตั้งแต่แรก

เหตุใดจึงต้องใช้คำขอ Python

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

วิธีการติดตั้งคำขอ Python

ในส่วนของการติดตั้งก็ง่ายมากเช่นกัน หากคุณติดตั้งการตั้งค่า pipenv ในระบบของคุณคุณสามารถเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล

คำขอติดตั้ง $ pip

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

วิธีรับและโพสต์คำขอ

รับคำขอโดยทั่วไปจะใช้เพื่อขอข้อมูลจากเซิร์ฟเวอร์ ต่อไปนี้เป็นไวยากรณ์ในการร้องขอรับ
คำขอนำเข้า res = request.get ('url') #res คือวัตถุตอบกลับที่นี่
คำขอโพสต์ใช้เพื่อส่งข้อมูลที่จะประมวลผลไปยังเซิร์ฟเวอร์ ต่อไปนี้เป็นไวยากรณ์ในการขอโพสต์
payload คำขอนำเข้า = {'key1': 'value1'} res = request.post ('url', data = payload)
ตอนนี้เรารู้แล้วว่าเราจะส่งคำขอรับและโพสต์ได้อย่างไรมาดูกันว่าเราจะส่งพารามิเตอร์ไปยัง url โดยใช้ get request ได้อย่างไร

การส่งผ่านพารามิเตอร์ใน URL

การส่งผ่านพารามิเตอร์ใน url นั้นทำได้ง่ายเพียงแค่ส่งคำขอ ต่อไปนี้เป็นตัวอย่างในการส่งผ่านพารามิเตอร์ไปยัง url
นำเข้าคำขอ payload = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = payload) print (res.url) #this จะพิมพ์ url พร้อมพารามิเตอร์ ผ่านคำขอรับ

รหัสสถานะ

เราสามารถตรวจสอบรหัสสถานะได้เช่นกันต่อไปนี้คือรหัสเพื่อตรวจสอบรหัสสถานะ:





คำขอนำเข้า res = request.get ('url') พิมพ์ (res.status_code ())
หากรหัสส่งกลับ 200 หมายความว่าไม่มีข้อผิดพลาดใด ๆ และการร้องขอก็เป็นไปด้วยดี หากเราส่งคำขอที่ไม่ถูกต้องรหัสจะส่งคืนรหัสเช่น 404 หรือ 505 ซึ่งจะทำให้เกิดข้อผิดพลาด http

เนื้อหาตอบกลับ

นอกจากนี้เรายังสามารถอ่านเนื้อหาของการตอบสนองของเซิร์ฟเวอร์ ไลบรารีจะถอดรหัสเนื้อหาจากเซิร์ฟเวอร์โดยอัตโนมัติ
คำขอนำเข้า res = request.get ('url') พิมพ์ (res.content)

คำขอยังมีตัวถอดรหัส json ในตัว

คำขอนำเข้า res = request.get ('url') print (res.json ()) #this จะได้รับคำตอบในรูปแบบ json

อัปโหลดไฟล์หลายส่วน

การอัปโหลดไฟล์หลายส่วนโดยใช้คำขอเป็นเรื่องง่ายมาก
ไฟล์คำขอนำเข้า = {'file': open ('filename', 'rb')} res = request.post ('url', files = files) print (res.text)
สำหรับการส่งไฟล์หลายไฟล์เราจะระบุไฟล์หลายไฟล์ในพารามิเตอร์ไฟล์

คุกกี้และส่วนหัว

เราสามารถดูส่วนหัวการตอบสนองของเซิร์ฟเวอร์และคุกกี้โดยใช้ออบเจ็กต์ตอบกลับ ต่อไปนี้เป็นรหัสสำหรับดูส่วนหัวของเซิร์ฟเวอร์
คำขอนำเข้า res = request.get ('url') พิมพ์ (res.headers)
เราสามารถส่งส่วนหัวที่กำหนดเองไปยัง url ได้เช่นกัน มาดูรหัสกัน
ส่วนหัวของคำขอนำเข้า = {'key1': 'value1'} res = request.get ('url', headers = headers) พิมพ์ (res.headers)
คำขอไม่เปลี่ยนพฤติกรรมตามส่วนหัวที่กำหนดเอง พวกเขาจะถูกส่งไปยังคำขอสุดท้าย คุ้กกี้ นอกจากนี้ยังสามารถดูได้โดยใช้วัตถุตอบกลับ
คำขอนำเข้า # เพื่อส่งผ่านคุกกี้ของเราเราสามารถใช้พารามิเตอร์คุกกี้ cookies = dict (cookies = 'working') res = request.get ('url', cookies = cookies) print (res.text)

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



ชนิดข้อมูลสำหรับวันที่ใน sql

วัตถุเซสชัน

อ็อบเจ็กต์เซสชันช่วยให้คุณสามารถคงพารามิเตอร์บางอย่างไว้ในคำร้องขอ
  • ยังคงมีคุกกี้ในคำขอทั้งหมดที่ทำจากอินสแตนซ์เซสชัน
  • ใช้การรวมการเชื่อมต่อ urllib3
  • ประสิทธิภาพที่เพิ่มขึ้นอย่างมีนัยสำคัญ
  • วัตถุเซสชันมีวิธีการทั้งหมดของ API คำขอหลัก
ต่อไปนี้เป็นรหัสเพื่อคงคุกกี้บางส่วนไว้ในคำขอต่างๆ
s = request.session () s.get ('url') res = s.get ('url') พิมพ์ (res.text)

ข้อผิดพลาดและข้อยกเว้น

ต่อไปนี้เป็นข้อผิดพลาดและข้อยกเว้นที่เกิดขึ้นในคำขอหลาม
  • ในกรณีที่เครือข่ายมีปัญหาการร้องขอจะเพิ่มข้อยกเว้น ConnectionError
  • Response.raise_for_status () จะเพิ่มข้อผิดพลาด HTTP เมื่อมีรหัสสถานะไม่สำเร็จ
  • หากมีการหมดเวลาจะเพิ่มข้อยกเว้นการหมดเวลา
  • ข้อยกเว้น TooManyRedirects จะเพิ่มขึ้นหากคำขอเกินจำนวนที่กำหนดไว้ของจำนวนการเปลี่ยนเส้นทางสูงสุด
ในบล็อกนี้เราได้พูดถึงโมดูลการร้องขอ python ซึ่งเรามีคุณสมบัติขั้นสูงต่างๆ เราได้พูดถึงการติดตั้งและการสร้างคำขอรับและโพสต์พร้อมเนื้อหาการตอบกลับและแนวคิดอื่น ๆ ในไลบรารีคำขอใน python โมดูลคำขอ Python เป็นหนึ่งในคุณสมบัติพิเศษนอกกรอบของ ภาษาโปรแกรม python . คุณสามารถเริ่มต้นการเรียนรู้ของคุณได้โดยการลงทะเบียน และค้นพบความเป็นไปได้ของภาษาโปรแกรมไพ ธ อน มีข้อสงสัยหรือไม่? พูดถึงพวกเขาในส่วนความคิดเห็นเราจะติดต่อกลับ