如何使用Python的httpx庫發送HTTP/2 POST請求?

如何使用Python的httpx庫發送HTTP/2 POST請求?

python httpx庫發送HTTP/2 POST請求詳解

本文介紹如何使用Python的httpx庫發送HTTP/2 POST請求。httpx是一個功能強大的HTTP客戶端,支持HTTP/2協議。我們將演示如何用httpx庫模擬以下cURL命令:

curl --http2-prior-knowledge -X POST http://127.0.0.1:1313 -d 'ww$$go'

直接使用httpx.Client(http2=True)并發送POST請求,例如以下代碼,可能無法成功:

with httpx.Client(http2=True, verify=False) as client:     res = client.post('http://127.0.0.1:1313', data=b'dtest')     print("res", res)

這是因為HTTP請求需要正確的Content-Type頭信息。 正確的httpx代碼如下:

import httpx  url = "http://127.0.0.1:1313" data = "ww$$go" headers = {     "Content-Type": "application/x-www-form-urlencoded", }  with httpx.Client(http2=True) as client:     response = client.post(url, data=data, headers=headers)  print(f"Status Code: {response.status_code}") print("Response Content:") print(response.text)

此代碼啟用HTTP/2 (httpx.Client(http2=True)),并正確設置Content-Type頭,確保服務器能夠正確解析POST數據。 通過client.post()方法發送請求后,代碼打印響應狀態碼和內容。 這與curl命令實現了相同的功能。

立即學習Python免費學習筆記(深入)”;

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享