Python requests.exception.ConnectionError: connection aborted "BadStatusLine"
Solution 1
The problem was with the url. This connection was meant to be established over https and I was using http in the python script. Hence the issue.
Solution 2
Have you actually checked, what gets send over the wire? I suppose you might have to convert your dictionary to a JSON string by yourself, or use the json=
keyword instead of payload=
. See http://docs.python-requests.org/en/latest/user/quickstart/#custom-headers for details. This may do the trick:
import json
payload = json.dumps({"mac":new_mac,"token":token})
userloginurl = "http://192.168.1.40:9119/uid"
r = requests.get(userloginurl, data=payload)
print(r.url)
BajajG
Updated on May 31, 2021Comments
-
BajajG about 3 years
I am trying to use the Python requests module to issue Http GET commands to access some REST based APIs. The urls are working fine on a RESTClient but when I use the same url in python, I get a connection error.
The code I am trying to execute is:
payload={"mac":new_mac,"token":token} userloginurl="http://192.168.1.40:9119/uid" r=requests.get(userloginurl,params=payload) print(r.url)
If I test this url using RESTClient, I get a 200 OK status code in the response header along with some more fields. But this is not working with python requests. The traceback of the error is shown below:
Traceback (most recent call last): File "getAPids.py", line 34, in <module> r=requests.get(userloginurl,params=payload) File "C:\Users\garvitab\python\lib\site-packages\requests\api.py", line 65, in get return request('get', url, **kwargs) File "C:\Users\garvitab\python\lib\site-packages\requests\api.py", line 49, in request response = session.request(method=method, url=url, **kwargs) File "C:\Users\garvitab\python\lib\site-packages\requests\sessions.py", line 4 61, in request resp = self.send(prep, **send_kwargs) File "C:\Users\garvitab\python\lib\site-packages\requests\sessions.py", line 5 73, in send r = adapter.send(request, **kwargs) File "C:\Users\garvitab\python\lib\site-packages\requests\adapters.py", line 4 15, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''", ))
I looked up for the cause of the problem. Possibly, the response received is not formatted correctly. Is there a way to handle this problem?
Thanks in advance.