httpx python
时间: 2023-09-21 21:06:40 浏览: 168
httpx是一个Python的HTTP客户端库,用于发送HTTP请求。它提供了简洁的API和许多高级功能,使得发送HTTP请求变得更加方便和灵活。[1]在使用httpx发送POST请求时,可以通过传递一个字典作为data参数来发送数据给服务端。例如,可以使用以下代码发送一个POST请求并打印响应的内容:
```python
import httpx
data = {"username": "zhugexu", "password": "123456"}
r = httpx.post('http://httpbin.org/post', data=data)
print(r.text)
```
[1]
而对于GET请求,可以通过params参数来传递查询参数,httpx会自动将其拼接在URL的尾部。例如,可以使用以下代码发送一个GET请求并打印请求的URL:
```python
import httpx
response = httpx.get("http://www.baidu.com/s", params={"wd": "python"})
print(response.url)
```
[2]
需要注意的是,有些网站会设置反爬虫机制,最常用的是判断请求头中的User-Agent字段。如果不是浏览器的User-Agent,网站可能会屏蔽你的请求。因此,在使用httpx发送请求时,可以通过设置headers参数来模拟浏览器的User-Agent。例如,可以使用以下代码打印httpx和requests发送请求时的User-Agent:
```python
import httpx
import requests
response = httpx.get("http://www.baidu.com")
print(response.request.headers["User-Agent"]) # python-httpx/0.23.3
response = requests.get("http://www.baidu.com")
print(response.request.headers["User-Agent"]) # python-requests/2.28.0
```
[3]
阅读全文