httpx 故障排除

2022-07-27 11:15 更新

本页列出了使用 HTTPX 进行开发时可能遇到的一些常见问题或问题,以及可能的解决方案。

代理

"The handshake operation timed out“,当使用代理时

描述:使用代理并发出 HTTPS 请求时,您会看到如下所示的异常:

httpx.ProxyError: _ssl.c:1091: The handshake operation timed out

类似问题:encode/httpx#1412, encode/httpx#1433

解决方案:您可能已经像这样设置了代理...

proxies = {
  "http://": "http://myproxy.org",
  "https://": "https://myproxy.org",
}

使用此设置,您将告诉 HTTPX 使用 HTTP 连接到 HTTP 请求的代理,并使用 HTTPS 进行 HTTPS 请求。

但是,如果您遇到上述错误,则可能是您的代理不支持通过HTTPS进行连接。别担心:这是一个常见的陷阱

将 HTTPS 代理的方案更改为 :​http://...​,而不是 :​https://...

proxies = {
  "http://": "http://myproxy.org",
  "https://": "http://myproxy.org",
}

这可以简化为:

proxies = "http://myproxy.org"

有关更多信息,请参阅代理:转发与隧道

向 HTTPS 代理发出请求时出错

描述:您的代理确实支持通过HTTPS连接,但是您看到的错误...

httpx.ProxyError: [SSL: PRE_MAC_LENGTH_TOO_LONG] invalid alert (_ssl.c:1091)

类似的问题:encode/httpx#1424

解决方法:HTTPX 目前无法正确支持 HTTPS 代理。如果这是你感兴趣的东西,请参阅编码/httpx#1434,并考虑在那里伸出援手。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号