卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章38617本站已运行3924

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

解决方案: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)

如果你使用的是第三方库或框架,那么应该查看它们的文档获得更详细的信息。

卓越飞翔博客
上一篇: cubes报错ConfigurationError(\"Store \'%s\' has no type specified\" % name)怎么办
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏