3. 基本使用
- httpx和requests的很多API存在相似之处,我们先看下GET请求的用法:
import httpx
response = httpx.get("http://httpbin.org/get")
print(response.status_code)
print(response.headers)
print(response.text)
- 这里我们还是请求之前的测试网站,直接使用httpx的get方法即可,用法和requests里的一模一样,将返回结果赋值为response变量,然后打印出它的status_code,headers,text等属性,运行结果如下:
200
Headers({'date': 'Sat, 19 Sep 2026 04:22:35 GMT', 'content-type': 'application/json', 'content-length': '308', 'connection': 'keep-alive', 'server': 'gunicorn/19.9.0', 'access-control-allow-origin': '*', 'access-control-allow-credentials': 'true'})
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Host": "httpbin.org",
"User-Agent": "python-httpx/0.28.1",
"X-Amzn-Trace-Id": "Root=1-6aae0e0b-7bc25f6c007102471cd18b33"
},
"origin": "183.212.87.222",
"url": "http://httpbin.org/get"
}
- 输出结果包含三项内容
- status_code属性对应位状态码,位为200
- headers属性对应响应头,是一个headers对象,类似于一个字典
- text属性对应响应体,可以看其中的User-Agent是python-httpx/0.28.1,代表我们是用httpx请求的
- 下面换一个User-Agent再请求一次,代码如下:
import httpx
headers = {
'User-Agent':'Mozilla/5.0'
}
response = httpx.get("http://httpbin.org/get",headers=headers)
print(response.text)
- 这里我们换了一个User-Agent重新请求,并肩其赋值给变量headers,然后传递给headers参数,运行结果如下:
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Host": "httpbin.org",
"User-Agent": "Mozilla/5.0",
"X-Amzn-Trace-Id": "Root=1-6aae0f69-201b52c41920b2ff089a0537"
},
"origin": "183.212.87.212",
"url": "http://httpbin.org/get"
}
- 可以发现更换后的User-Agent生效了。
![image]()
![image]()
![image]()
- 基于得到的Response对象,可以使用如下属性和方法获取想要的内容。
- status_code:状态码
- text:响应体的文本内容
- content:响应体的二进制内容,当前求体的目标是二进制数据(如照片)时,可以使用此属性获取
- headers:响应头,是Headers对象,可以用像获取字典中的内容一样获取其中某个Header的值
- json:方法,可以调用此方法将文本结果转化为JSON对象
- 除了这些,httpx还有一些基本用法也和requests极其类似,这里不再赘述了,可以参考官方文档:https://www.python-httpx.org/quickstart/
心揣信念,梦想就在脚下!




浙公网安备 33010602011771号