4. Client对象
- httpx中有一些基本的API和requests中的非常相似,但也有一些API是不相似的,例如httpx中有一个client对象,就可以和requests中的Session对象类比学习。
- 下面我们介绍Client对象的使用。官方比较推荐的使用方式是with as语句,示例如下:
import httpx
with httpx.Client() as client:
response = client.get("http://httpbin.org/get")
print(response)
运行结果如下:
<Response [200 OK]>
- 这个用法等价于:
import httpx
client = httpx.Client()
try:
response = client.get("http://www.baidu.com")
print(response)
finally:
client.close()
- 两种方式的运行结果是一样的,只不过这里需要我们在最后显示地调用close方法来关闭Client对象。
- 另外,在声明Client对象时可以指定一些参数,例如headers,这样使用该对象发起的请求都会默认带上这些参数配置,如下示例:
import httpx
url = "http://httpbin.org/get"
headers = {'User-Agent':'Mozilla/5.0'}
with httpx.Client(headers=headers) as client:
response = client.get(url)
print(response.json()['headers']['User-Agent'])
- 这里我们声明了一个headers变量,内容为User-Agent属性,然后将此变量传递给headers参数初始化了一个Client对象,并赋值给client变量,最后用client变量请求了测试网站,并打印返回结果中User-Agent的内容:
Mozilla/5.0 - 可以看到,headers成功赋值了
- 关于Client对象的更多高级用法可以参考官方文档:https://www.python-httpx.org/advanced/
心揣信念,梦想就在脚下!

浙公网安备 33010602011771号