#27725 closed Bug (needsinfo)
requests.post fail inside of django shell but not python shell
Reported by: | paulfab | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | 1.10 |
Severity: | Normal | Keywords: | request fails |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
When I execute :
requests.post("https://slack.com/api/chat.postMessage", data= {"channel": "maison"})
it fails in the django shell (python manage.py shell) with the error :
InvalidCodepoint: Codepoint U+002A at position 1 of u'*' not allowed
but it doesnt fail in the python shell
So this tells me it is probable something Django related
It was working before, and the only thing I changed is that I updated the SSL certificate of my server
Thanks
complete trace of the error is :
Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.7/dist-packages/requests/api.py", line 107, in post return request('post', url, data=data, json=json, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/api.py", line 53, in request return session.request(method=method, url=url, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 468, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 576, in send r = adapter.send(request, **kwargs) File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 376, in send timeout=timeout File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 594, in urlopen chunked=chunked) File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 350, in _make_request self._validate_conn(conn) File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 833, in _validate_conn conn.connect() File "/usr/local/lib/python2.7/dist-packages/urllib3/connection.py", line 324, in connect cert = self.sock.getpeercert() File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 312, in getpeercert 'subjectAltName': get_subj_alt_name(x509) File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 185, in get_subj_alt_name for name in ext.get_values_for_type(x509.DNSName) File "/usr/local/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 141, in _dnsname_to_stdlib name = idna.encode(name) File "/usr/lib/python2.7/dist-packages/idna/core.py", line 354, in encode result.append(alabel(label)) File "/usr/lib/python2.7/dist-packages/idna/core.py", line 275, in alabel check_label(label) File "/usr/lib/python2.7/dist-packages/idna/core.py", line 252, in check_label raise InvalidCodepoint('Codepoint {0} at position {1} of {2} not allowed'.format(_unot(cp_value), pos+1, repr(label))) InvalidCodepoint: Codepoint U+002A at position 1 of u'*' not allowed
Change History (9)
comment:1 by , 8 years ago
Description: | modified (diff) |
---|
comment:2 by , 8 years ago
Description: | modified (diff) |
---|
comment:3 by , 8 years ago
Resolution: | → needsinfo |
---|---|
Status: | new → closed |
comment:4 by , 8 years ago
Well
I execute the same line : requests.post("https://slack.com/api/chat.postMessage", data= {"channel": "maison"})
In both the django shell 'python manage.py shell' and the python shell 'python', and it only fails in the first one,
so this is django shell related
comment:5 by , 8 years ago
Resolution: | needsinfo |
---|---|
Status: | closed → new |
comment:6 by , 8 years ago
Please tell us where the problem is rather than asking us to debug the issue. Looking at the traceback doesn't indicate why Django is at fault.
comment:7 by , 8 years ago
Resolution: | → needsinfo |
---|---|
Status: | new → closed |
manage.py shell
uses iPython or bpython if available in your environment. Is it the case here?
Else it could be caused by some code your application monkey patches but as Tim pointed out nothing seems to indicate Django is at fault here.
comment:8 by , 8 years ago
The fact is that my application is very simple there is no monkey patch. I just wanted to know in what sense django shell is different than python shell, ipython or bpython could be the reason, but it is not available on my system.
Maybe Django has nothing to do with that, but that is his way to handle https that broke my request.
Thanks anyway
comment:9 by , 8 years ago
You can try the channels linked at TicketClosingReasons/UseSupportChannels for ways to get help.
You'll need to tell us where the issue is. I don't see anything obvious indicating that Django is at fault.