Python - ไคลเอนต์ HTTP

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

รับคำตอบเริ่มต้น

ในโปรแกรมด้านล่างนี้เมธอด get from request จะดึงข้อมูลจากเซิร์ฟเวอร์และจะพิมพ์ในรูปแบบข้อความธรรมดา

import requests
r = requests.get('https://httpbin.org/')
print(r.text)[:200]

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

<!DOCTYPE html >
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>httpbin.org</title>
  <link 
href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+

รับการตอบสนองของวัตถุเซสชัน

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

import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/31251425')
r = s.get('http://httpbin.org/cookies')
print(r.text)

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

{"cookies":{"sessioncookie":"31251425"}}

ข้อผิดพลาดในการจัดการ

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

requests.get('http://github.com', timeout=10.001)