首页 > 解决方案 > Python POST请求获取json.decoder.JSONDecodeError

问题描述

我尝试在 Postman 中发布请求,工作正常并得到了响应。但是,在尝试从 python 请求时,响应的主体是空的。但响应状态码是 200。当我尝试打印 response.json() 时,我收到以下错误“json.decoder.JSONDecodeError”此外,当我尝试打印 response.text 时,它是空的

发布请求的标头类型为 application/x-www-form-urlencoded

我的代码:

resp = requests.post("myurl",data=request_json,headers=headers, verify=False)
       
code = resp.status_code
print("Status Code " + str(code))
print(resp.headers)
print("Test : "+resp.text)
print(resp.json())

我的输出:

Status Code 200
{'date': 'Fri, 13 Aug 2021 10:51:51 GMT', 'server': 'qsad-cvfd', 'x-envoy-upstream-service-time': '72', 'Content-Length': '0', 'Connection': 'keep-alive'}
Test :
Traceback (most recent call last):
  File "test.py", line 33, in <module>
    test1()
  File "test.py", line 26, in test1
    print(resp.json())
  File "C:\Users\\Anaconda3\envs\analytica\lib\site-packages\requests\models.py", line 900, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Users\\Anaconda3\envs\analytica\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\\Anaconda3\envs\analytica\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\\Anaconda3\envs\analytica\lib\json\decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我该如何解决这个问题?

标签: pythonjsonpython-requests

解决方案


推荐阅读