codecamp

httpx 故障排除

本页列出了使用 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,并考虑在那里伸出援手。


httpx 异常
httpx 第三方插件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }