首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: json.decoder.JSONDecodeError

Python: json.decoder.JSONDecodeError
EN

Stack Overflow用户
提问于 2017-07-24 20:08:52
回答 1查看 1.5K关注 0票数 0

我想从服务器得到一个json响应,下面是我的代码:

代码语言:javascript
复制
import requests
from requests_ntlm import HttpNtlmAuth

r = requests.get('http://helpbook.com/Home/UserInfo?empId=00458974',
auth=HttpNtlmAuth('domain\\login','password'))
print(r.json())

但每次我都会得到错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\user\Desktop\SM\PYTHON_SCRIPTS\Send json query\iso.py", line 6, in <module>
    print(r.json())
  File "C:\Program Files\Python36\lib\site-packages\requests\models.py", line 894, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:\Program Files\Python36\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\Python36\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files\Python36\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)

如何修复它?

EN

回答 1

Stack Overflow用户

发布于 2017-07-24 20:17:03

我没有足够的名气来发表评论。

requests无法解码JSON响应,因为没有JSON响应。您应该先检查返回码:

代码语言:javascript
复制
import requests
from requests_ntlm import HttpNtlmAuth

r = requests.get('http://helpbook.com/Home/UserInfo?empId=00458974',
                 auth=HttpNtlmAuth('domain\login', 'password'))

if r.status_code == 200:
    print(r.json())
else:
    print("Request failed: {} - {}".format(r.status_code, r.reason))

你会得到结果:Request failed: 404 - Not Found

有了这些信息,您就可以调试您的HTTP API并检查为什么首先会收到404错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45280296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档