httpx.AsyncClient报错ProxyError: 504 Gateway Time-out

场景:

同一个URL,用requests.get能正常获取网页内容,用httpx.get和httpx.AsyncClient.get就不行,要么就报超时,要么就报ProxyError: 504 Gateway Time-out

python 复制代码
import anyio, httpx, requests

url = 'https://my-domain.com/xxx/'

r = requests.get(url, verify=False) # 这个ok
r = httpx.get(url, verify=False) # 这个报错了

async def fetch(url):
    async with httpx.AsyncClient(verify=False) as client:
        return await client.get(url)

r = anyio.run(fetch, url) # 这个也报错了

原因:httpx在Windows下,默认读取系统的代理设置,然后它却不能读到跳过代理的白名单,于是导致不该走代理的网址走了代理,从而引发代理错误。

解决:加上trust_env=False即可

python 复制代码
import anyio, httpx, requests

url = 'https://my-domain.com/xxx/'

r = httpx.get(url, verify=False, trust_env=False)

async def fetch(url):
    async with httpx.AsyncClient(verify=False, trust_env=False) as client:
        return await client.get(url)

r = anyio.run(fetch, url)
相关推荐
甜可儿1 天前
Gateway实战入门(四)、断言-请求头以及请求权重分流等
java·spring cloud·gateway
INFINI Labs1 天前
实现极限网关(INFINI Gateway)配置动态加载
gateway
brhhh_sehe6 天前
【Java面试系列】初识GateWay网关
java·面试·gateway
程序媛学姐6 天前
SpringCloud网关:Gateway路由配置与过滤器链
java·spring cloud·gateway
Maybe_95277 天前
httpx.AsyncClient()的stream方法设置timeout超时
python·httpx·流式接口超时
时雨h8 天前
微服务架构-网关学习 以Spring Cloud Gateway为例 详细功能模块解读
微服务·架构·gateway
ronshi11 天前
Spring Cloud Gateway 使用ribbon以及nacos实现灰度发布
ribbon·nacos·gateway·灰度
carfied-feifei12 天前
云安全相关博客阅读(四)
云原生·gateway·云安全
你啊我啊你好17 天前
Spring cloud Gateway中的GlobalFilter接口及其方法
java·开发语言·缓存·gateway·软件工程
qw94918 天前
SpringCloud——Gateway新一代网关
spring boot·spring cloud·gateway