首頁  >  文章  >  後端開發  >  解決方案:urllib3 ProxySchemeUnknown(proxy.scheme)

解決方案:urllib3 ProxySchemeUnknown(proxy.scheme)

WBOY
WBOY轉載
2024-02-29 19:01:23429瀏覽

解决方案:urllib3 ProxySchemeUnknown(proxy.scheme)

錯誤的原因

urllib3的ProxySchemeUnknown(proxy.scheme)錯誤通常是因為使用了不支援的代理協定導致的。在這種情況下,urllib3無法辨識代理伺服器的協定類型,因此無法使用代理程式進行網路連線。要解決這個問題,您需要確保使用支援的代理協議,例如Httphttps.

如何解決

#要解決這個問題,您需要確保使用支援的代理協議,例如HTTP或HTTPS。

您可以透過設定urllib3的代理參數來解決這個問題。

如果是使用http代理,程式碼範例如下:

import urllib3

http = urllib3.PoolManager()

proxy = urllib3.ProxyManager('http://proxy.server:3128')

r = proxy.request('GET', 'http://httpbin.org/ip')

print(r.data)

如果是使用https代理,程式碼範例如下:

import urllib3

https = urllib3.PoolManager()

proxy = urllib3.ProxyManager('https://proxy.server:3128')

r = proxy.request('GET', 'https://httpbin.org/ip')

print(r.data)

如果你使用的是第三方函式庫或框架,那麼應該要查看它們的文件以獲得更詳細的資訊。

另外,還要注意的是,使用代理程式需要對代理伺服器進行身份驗證,如果需要認證,則需要在建立代理物件時傳入使用者名稱和密碼。

使用範例

是的,如果你需要使用使用者名稱和密碼認證代理,可以使用urllib3的ProxyManager類,並傳入使用者名稱和密碼來設定驗證。

程式碼範例如下:

import urllib3

proxy = urllib3.ProxyManager('http://proxy.server:3128',
 proxy_username='username',
 proxy_passWord='password')

r = proxy.request('GET', 'http://httpbin.org/ip')

print(r.data)

import urllib3

proxy = urllib3.ProxyManager('https://proxy.server:3128',
 proxy_username='username',
 proxy_password='password')

r = proxy.request('GET', 'https://httpbin.org/ip')

print(r.data)

如果你使用的是第三方函式庫或框架,那麼應該查看它們的文件以獲得更詳細的資訊。

以上是解決方案:urllib3 ProxySchemeUnknown(proxy.scheme)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lsjlt.com。如有侵權,請聯絡admin@php.cn刪除