如何绕过python请求SSL和代理错误?

如何绕过python请求SSL和代理错误?,python,ssl,proxy,python-requests,Python,Ssl,Proxy,Python Requests,当发送带有身份验证的请求时,我得到一个requests.exceptions.SSLError错误,您可以在下面看到 proxies = { 'https' : "http://user:pass@ip:port/" } url = "https://httpbin.org/ip" numberResponse = requests.get(url,proxies=proxies).text print(numberResponse) 请求.异常

当发送带有身份验证的请求时,我得到一个requests.exceptions.SSLError错误,您可以在下面看到

proxies = { 'https' : "http://user:pass@ip:port/" } 

url = "https://httpbin.org/ip"

numberResponse = requests.get(url,proxies=proxies).text

print(numberResponse)
请求.异常.SSLError

Traceback (most recent call last):
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen       
    self._prepare_proxy(conn)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 359, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 496, in _connect_tls_proxy
    return ssl_wrap_socket(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\ssl_.py", line 428, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\ssl_.py", line 472, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1125)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /ip (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1125)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:/Users/K_Yuk/OneDrive/Desktop/Gmail generator/test.py", line 15, in <module>
    numberResponse = requests.get(url,proxies=proxies).text
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /ip (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1125)')))
请求.异常.代理错误

Traceback (most recent call last):
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen       
    self._prepare_proxy(conn)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 359, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 496, in _connect_tls_proxy
    return ssl_wrap_socket(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\ssl_.py", line 428, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\ssl_.py", line 472, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\retry.py", line 573, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /ip (Caused by ProxyError('Cannot connect to proxy.', FileNotFoundError(2, 'No such file or directory')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:/Users/K_Yuk/OneDrive/Desktop/Gmail generator/test.py", line 15, in <module>
    numberResponse = requests.get(url,proxies=proxies,verify=False).text
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\K_Yuk\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 510, in send
    raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /ip (Caused by ProxyError('Cannot connect to proxy.', FileNotFoundError(2, 'No such file or directory')))
回溯(最近一次呼叫最后一次):
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\connectionpool.py”,第696行,在urlopen中
自我准备代理(康涅狄格州)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\connectionpool.py”,第964行,在代理中
连接
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\connection.py”,第359行,在connect中
conn=self.\u connect\u tls\u proxy(主机名,conn)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\connection.py”,第496行,在\u connect\u tls\u代理中
返回ssl\u wrap\u套接字(
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\util\ssl\uuu.py”,第428行,在ssl\u wrap\u套接字中
ssl\u sock=\u ssl\u wrap\u socket\u impl(
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\util\ssl\uuu.py”,第472行,在ssl封装套接字impl中
返回ssl\u context.wrap\u套接字(sock,server\u hostname=server\u hostname)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py”,第500行,在wrap\u套接字中
返回self.sslsocket\u类。\u创建(
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py”,第1040行,在创建
self.do_握手
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python\Python38\lib\ssl.py”,第1309行,在do\u握手中
赛尔夫:握手
FileNotFoundError:[Errno 2]没有这样的文件或目录
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\requests\adapters.py”,第439行,在send中
resp=conn.urlopen(
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python\38\lib\site packages\urllib3\connectionpool.py”,第755行,在urlopen中
重试次数=重试次数。增量(
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\urllib3\util\retry.py”,第573行,增量
引发MaxRetryError(_池、url、错误或响应错误(原因))
urllib3.exceptions.MaxRetryError:HTTPSConnectionPool(host='httpbin.org',port=443):url:/ip超过最大重试次数(由ProxyError('无法连接到代理')、FileNotFoundError(2,‘没有这样的文件或目录')引起)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“c:/Users/K_Yuk/OneDrive/Desktop/Gmail generator/test.py”,第15行,在
numberResponse=requests.get(url,proxies=proxies,verify=False)。text
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\requests\api.py”,第76行,在get中
返回请求('get',url,params=params,**kwargs)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\requests\api.py”,第61行,在请求中
return session.request(method=method,url=url,**kwargs)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\requests\sessions.py”,第542行,在请求中
resp=自我发送(准备,**发送)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\requests\sessions.py”,第655行,在send中
r=适配器.send(请求,**kwargs)
文件“C:\Users\K\u Yuk\AppData\Local\Programs\Python38\lib\site packages\requests\adapters.py”,第510行,在send中
raise ProxyError(e,请求=请求)
requests.exceptions.ProxyError:HTTPSConnectionPool(host='httpbin.org',port=443):url:/ip超过最大重试次数(由ProxyError('无法连接到代理',FileNotFoundError(2,'没有这样的文件或目录')引起)
我疲于寻找答案,但似乎什么都不起作用。我无法发送带有代理的请求
身份验证。有什么想法吗?

问题很可能不是身份验证。遗憾的是,您没有提供代理配置和用于代理的URL的详细信息。您提供的唯一内容是:

proxies = { 'https' : eampleIpWithAuth } 
根据stacktrace中对
\u connect\u tls\u proxy
的引用,
eampleIpWithAuth
很可能类似于
https://...
,即您尝试通过HTTPS访问代理本身。请注意,通过HTTPS访问代理与使用HTTP代理不同通过HTTPS代理访问HTTPS URL实际上会对代理进行双重加密:

client --- [HTTPS wrapped inside HTTPS] --- proxy --- [HTTPS] --- server
而对于“普通”HTTP代理上的HTTPS URL,只有单一加密,即它看起来(简化)如下:

client --- [HTTPS wrapped inside HTTP]  --- proxy --- [HTTPS] --- server
很可能您要使用的代理是普通HTTP代理,而不是HTTPS代理。这实际上是最常见的情况

发生此错误的原因是代理无法讲TLS,但被TLS访问。修复方法是使用
http://proxy
而非
https://proxy
作为代理地址。请注意,后者在较早版本的Python中工作,因为不支持HTTPS上的代理,并且协议的值为
HTTPS://
与http://相同

client --- [HTTPS wrapped inside HTTP]  --- proxy --- [HTTPS] --- server