【发布时间】:2019-09-30 03:26:39
【问题描述】:
执行简单代码后:
from urllib3 import ProxyManager
def GET(url):
http = ProxyManager("https://91.208.39.70:8080")
response = http.urlopen('GET', url)
print(response.data)
return ''
if __name__ == '__main__':
result = GET("https://example.com")
print(result)
我有下一个错误:
Traceback(最近一次调用最后一次): 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connectionpool.py”,第 597 行,在 urlopen self._prepare_proxy(conn) _prepare_proxy 中的文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connectionpool.py”,第 807 行 连接.connect() 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connection.py”,第 350 行,在连接中 ssl_context=上下文) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\util\ssl_.py”,第 355 行,在 ssl_wrap_socket return context.wrap_socket(sock, server_hostname=server_hostname) wrap_socket 中的文件“F:\Run\Lprogr\Phyton\lib\ssl.py”,第 412 行 会话=会话 _create 中的文件“F:\Run\Lprogr\Phyton\lib\ssl.py”,第 853 行 self.do_handshake() 文件“F:\Run\Lprogr\Phyton\lib\ssl.py”,第 1117 行,在 do_handshake 中 self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书 (_ssl.c:1056)
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次): 文件“F:/My/Documents/PycharmProjects/proxyTester/proxy.py”,第 17 行,在 结果 = GET("https://example.com") 文件“F:/My/Documents/PycharmProjects/proxyTester/proxy.py”,第 11 行,在 GET 响应 = http.urlopen('GET', url) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\poolmanager.py”,第 451 行,在 urlopen return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\poolmanager.py”,第 326 行,在 urlopen 响应 = conn.urlopen(方法,u.request_uri,**kw) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connectionpool.py”,第 670 行,在 urlopen **response_kw) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connectionpool.py”,第 670 行,在 urlopen **response_kw) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connectionpool.py”,第 670 行,在 urlopen **response_kw) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\connectionpool.py”,第 641 行,在 urlopen _stacktrace=sys.exc_info()[2]) 文件“F:\Run\Lprogr\Phyton\lib\site-packages\urllib3\util\retry.py”,第 399 行,增量 raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='example.com', port=443): 最大重试次数超出 url: / (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败: 自签名证书在证书链中 (_ssl.c:1056)')))
更新:我不想忽略证书验证。
【问题讨论】:
-
哦,所以我认为问题在于您调用的是 ip 而不是域名,并且您的证书可能是为该域名注册的,而不是为 ip...
标签: python python-3.x ssl