环境变量
HTTPX 库可以通过环境变量进行配置。默认情况下会使用环境变量。若要忽略环境变量,必须将 trust_env
设为 False
。有两种方式可以设置 trust_env
来禁用环境变量:
- 在客户端通过
httpx.Client(trust_env=False)
设置 - 使用顶层 API,例如
httpx.get("<url>", trust_env=False)
以下是 HTTPX 识别的环境变量及其功能列表:
代理设置
下面记录的环境变量是各种 HTTP 工具(包括以下工具)的通用约定:
有关在 HTTPX 中使用代理的更多信息,请参阅 HTTP 代理。
HTTP_PROXY
, HTTPS_PROXY
, ALL_PROXY
有效值:代理服务器的 URL
HTTP_PROXY
、HTTPS_PROXY
和 ALL_PROXY
分别设置用于 http
、https
或所有请求的代理。
export HTTP_PROXY=http://my-external-proxy.com:1234
# 此请求将通过代理发送
python -c "import httpx; httpx.get('http://example.com')"
# 此请求将直接发送,因为我们设置了 `trust_env=False`
python -c "import httpx; httpx.get('http://example.com', trust_env=False)"
NO_PROXY
有效值:以逗号分隔的主机名/URL 列表
NO_PROXY
可禁用对特定 URL 的代理
export HTTP_PROXY=http://my-external-proxy.com:1234
export NO_PROXY=http://127.0.0.1,python-httpx.org
# 与前面的示例一样,此请求将通过代理发送
python -c "import httpx; httpx.get('http://example.com')"
# 这些请求将直接发送,绕过代理
python -c "import httpx; httpx.get('http://127.0.0.1:5000/my-api')"
python -c "import httpx; httpx.get('https://www.python-httpx.org')"