httpx 故障排除

2022-07-27 11:15 更新

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

代理

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

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

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

類似問(wèn)題:encode/httpx#1412, encode/httpx#1433

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

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

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

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

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

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

這可以簡(jiǎn)化為:

proxies = "http://myproxy.org"

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

向 HTTPS 代理發(fā)出請(qǐng)求時(shí)出錯(cuò)

描述:您的代理確實(shí)支持通過(guò)HTTPS連接,但是您看到的錯(cuò)誤...

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

類似的問(wèn)題:encode/httpx#1424。

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)