Python-httpx的使用及说明
简介
httpx
是一个 Python 的异步 HTTP 客户端,提供了更好用的 API、更好的异步支持、更好的性能,并且还提供了更接近现代 Web 特点的新特性,比如:HTTP/2、ASGI 和 WebSocket 支持。
安装
可以使用 pip
包管理器来安装 httpx
,具体命令如下:
pip install httpx
基本使用
Get 请求
import httpx
async with httpx.AsyncClient() as client:
response = await client.get("https://www.example.com")
print(response.status_code)
print(response.text)
这里我们通过 httpx.AsyncClient()
创建了一个异步客户端。然后用 client.get()
方法发起一个 GET 请求,并将其赋值给变量 response
。最后可以打印出请求返回的状态码和响应内容。
POST 请求
import httpx
async with httpx.AsyncClient() as client:
response = await client.post(
"https://www.example.com",
data={"username": "admin", "password": "123456"}
)
print(response.status_code)
print(response.text)
这个例子演示了如何使用 httpx
生成一个异步 POST 请求。需要注意的是,我们使用 data
参数来传递 POST 请求的数据。如果需要发送 JSON 数据,可以使用 json
参数代替 data
参数。
常见用法
设置请求头
可以使用 headers
参数来设置 HTTP 请求头:
import httpx
headers = {"User-Agent": "httpx"}
async with httpx.AsyncClient() as client:
response = await client.get("https://www.example.com", headers=headers)
print(response.status_code)
print(response.text)
SSL/TLS 验证
默认情况下,如果请求的 URL 是 HTTPS 协议,httpx
会验证 SSL/TLS 证书。如果你需要禁止验证,可以将 verify
参数设置为 False:
import httpx
async with httpx.AsyncClient() as client:
response = await client.get("https://www.example.com", verify=False)
print(response.status_code)
print(response.text)
超时设置
可以通过 timeout
参数设置请求的超时时间。
import httpx
async with httpx.AsyncClient() as client:
response = await client.get("https://www.example.com", timeout=10)
print(response.status_code)
print(response.text)
代理设置
可以通过 proxies
参数设置请求的代理。
import httpx
proxies = {
"http://": "http://127.0.0.1:8888",
"https://": "http://127.0.0.1:8888",
}
async with httpx.AsyncClient(proxies=proxies) as client:
response = await client.get("https://www.example.com")
print(response.status_code)
print(response.text)
结语
本文简要介绍了 httpx
的基本使用和常见用法,希望有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python-httpx的使用及说明 - Python技术站