我收到以下错误消息:
... raw解码中的第355行“ c:\ users \ dockerhost \ appdata \ local \ programs \ python \ python37 \ Lib \ json \ decoder.py”
从None提高JSONDecodeError(“期望值”,s,err.value)
json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)
我正在尝试使用请求来获取响应头。我已经尝试解决jsondecodeerror进行了大量研究。但是,我没有找到解决方案。
import requests
request.get('https://www.google.com/').json()
Error message.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Host\.virtualenvs\projects08-8iyGSYl4\lib\site-packages\requests\models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "c:\users\host\appdata\local\programs\python\python37\Lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "c:\users\host\appdata\local\programs\python\python37\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\users\host\appdata\local\programs\python\python37\Lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
最佳答案
JSON解码器在第一行的第一个字符处期望有一个值,仅表示它找不到要解析的内容。也就是说,您的响应对象的内容为空。
您应该使用以下命令检查服务器响应的内容:
print(request.get(your_url).content)
以确保它不为空,并且实际上是有效的JSON。
如果确实为空,则通常意味着您没有向服务器发送期望的消息,并且应该修复与请求一起发送的标头/ Cookie /身份验证/ API密钥/参数。