> For the complete documentation index, see [llms.txt](https://docs.ipwo.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipwo.net/kai-fa-zhe-wen-dang/dai-ma-shi-li/python/httpx.md).

# HTTPX

使用 Python `httpx` 可以通过 [IPWO 代理](https://www.ipwo.net/)发起同步或异步 HTTP 请求，适用于高性能 [API 调用与数据采集](/dai-li-ji-chu-zhi-shi/api-diao-yong-yu-pi-liang-cai-ji.md)场景。

***

### 一、安装 HTTPX

```bash
pip install httpx
```

***

### 二、HTTP 代理示例

```python
import httpx

proxyip = "http://username_custom_zone_US:password@us.ipwo.net:7878"

proxies = {
    "http://": proxyip,
    "https://": proxyip
}

url = "http://ipinfo.io"

with httpx.Client(
    proxies=proxies,
    timeout=30
) as client:

    response = client.get(url)

    print(response.text)
```

***

### 三、正常返回示例

```json
{
  "ip": "203.0.113.10",
  "country": "US"
}
```

如果返回的 IP：

* 不是本机公网 IP
* 国家地区正确

说明代理已经生效。

***

### 四、异步请求示例（推荐）

```python
import asyncio
import httpx

proxyip = "http://username_custom_zone_US:password@us.ipwo.net:7878"

proxies = {
    "http://": proxyip,
    "https://": proxyip
}

async def main():

    async with httpx.AsyncClient(
        proxies=proxies,
        timeout=30
    ) as client:

        response = await client.get("http://ipinfo.io")

        print(response.text)

asyncio.run(main())
```

***

### 五、常见问题

#### [407 Proxy Authentication Required](/kai-fa-zhe-wen-dang/chang-jian-cuo-wu/407-proxy-authentication-required.md)

通常是：

* 用户名错误
* 密码错误
* zone 参数错误

***

#### [Timeout 超时](/kai-fa-zhe-wen-dang/chang-jian-cuo-wu/chao-shi-timeout.md)

通常是：

* 网络环境异常
* DNS 问题
* 请求超时时间过短

***

#### IP 未变化

请检查：

* 是否正确设置 proxies
* 请求是否真正走代理

***

### 六、推荐开发建议

推荐：

* 使用海外 VPS
* 增加 timeout
* 使用异步请求提高效率
* 配合 Retry 重试机制

***

### 七、相关文章

* [Python Requests](/kai-fa-zhe-wen-dang/dai-ma-shi-li/python/requests.md)
* [aiohttp](/kai-fa-zhe-wen-dang/dai-ma-shi-li/python/aiohttp-yi-bu.md)
* [cURL](/kai-fa-zhe-wen-dang/dai-ma-shi-li/curl-dai-ma-shi-li.md)
* [如何检测代理是否生效](/dai-li-jian-ce-yu-yin-si-an-quan/ru-he-jian-ce-dai-li-shi-fou-sheng-xiao.md)
* [超时 Timeout](/kai-fa-zhe-wen-dang/chang-jian-cuo-wu/chao-shi-timeout.md)
* [API 调用与批量采集](/dai-li-ji-chu-zhi-shi/api-diao-yong-yu-pi-liang-cai-ji.md)
