httpx 故障排除

2022-07-27 11:15 更新

本頁列出了使用 HTTPX 進(jìn)行開發(fā)時可能遇到的一些常見問題或問題,以及可能的解決方案。

代理

"The handshake operation timed out“,當(dāng)使用代理時

描述:使用代理并發(fā)出 HTTPS 請求時,您會看到如下所示的異常:

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

類似問題:encode/httpx#1412, encode/httpx#1433

解決方案:您可能已經(jīng)像這樣設(shè)置了代理...

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

使用此設(shè)置,您將告訴 HTTPX 使用 HTTP 連接到 HTTP 請求的代理,并使用 HTTPS 進(jìn)行 HTTPS 請求。

但是,如果您遇到上述錯誤,則可能是您的代理不支持通過HTTPS進(jìn)行連接。別擔(dān)心:這是一個常見的陷阱。

將 HTTPS 代理的方案更改為 :?http://...?,而不是 :?https://...?

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

這可以簡化為:

proxies = "http://myproxy.org"

有關(guān)更多信息,請參閱代理:轉(zhuǎn)發(fā)與隧道。

向 HTTPS 代理發(fā)出請求時出錯

描述:您的代理確實支持通過HTTPS連接,但是您看到的錯誤...

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

類似的問題:encode/httpx#1424

解決方法:HTTPX 目前無法正確支持 HTTPS 代理。如果這是你感興趣的東西,請參閱編碼/httpx#1434,并考慮在那里伸出援手。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號