-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
Closed
Description
Using code below, will produce 403 error without https_proxy:
$ ./test.py
<Response [403]>
But ssl error with https_proxy (because CONNECT request is never sent):
$ https_proxy=http://10.32.2.100:1080/ ./test.py
Traceback (most recent call last):
File "./test.py", line 11, in <module>
res = session.put("https://github.com/kennethreitz", data=StringIO.StringIO(""))
File "/opt/pepperdata/native/lib/python2.7/site-packages/requests/sessions.py", line 533, in put
return self.request('PUT', url, data=data, **kwargs)
File "/opt/pepperdata/native/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/opt/pepperdata/native/lib/python2.7/site-packages/requests/sessions.py", line 596, in send
r = adapter.send(request, **kwargs)
File "/opt/pepperdata/native/lib/python2.7/site-packages/requests/adapters.py", line 492, in send
raise ConnectionError(err, request=request)
ConnectionError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:590)
For now, I'm patching my local requests/adaptor.py to init proxy when first conn use is with chunked request:
> if hasattr(conn, 'proxy'):
> if conn.proxy is not None and not getattr(low_conn, 'sock', None):
> conn._prepare_proxy(low_conn)
## test.py ########################################################
import requests
import traceback
import StringIO
import sys
try:
session = requests.session()
res = session.put("https://github.com/kennethreitz", data=StringIO.StringIO(""))
sys.stdout.write(str(res) + "\n")
except Exception:
traceback.print_exc()
session.close()
Metadata
Metadata
Assignees
Labels
No labels