Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:json.decoder.jsondeCoderror_Python_Python 3.x - Fatal编程技术网

Python:json.decoder.jsondeCoderror

Python:json.decoder.jsondeCoderror,python,python-3.x,Python,Python 3.x,我想从服务器获取json响应 这是我的密码: 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()) 但每次我都会出错: Traceback (most recent call

我想从服务器获取json响应 这是我的密码:

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())
但每次我都会出错:

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)
回溯(最近一次呼叫最后一次):
文件“C:\Users\user\Desktop\SM\PYTHON\u SCRIPTS\Send json query\iso.py”,第6行,在
打印(r.json())
json格式的文件“C:\Program Files\Python36\lib\site packages\requests\models.py”,第894行
返回complexjson.load(self.text,**kwargs)
文件“C:\Program Files\Python36\lib\json\\uuuu init\uuuuu.py”,第354行,加载
返回\u默认\u解码器。解码
文件“C:\Program Files\Python36\lib\json\decoder.py”,第339行,解码
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
原始解码中的文件“C:\Program Files\Python36\lib\json\decoder.py”,第357行
从None引发JSONDecodeError(“预期值”,s,err.value)
json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)

如何修复它?

我没有足够的声誉发表评论

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

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))
你会得到这样的结果:
请求失败:404-未找到


有了这些信息,您可以调试HTTP API,并首先检查收到404错误的原因。

r.text()的内容是什么??您提供的url提供了一个错误页面。这绝对不是有效的json。请使用postman或其他工具检查json是否有效,或使用硬编码的json测试代码以缩小问题范围,这意味着您有身份验证问题(正确的用户名、密码?)。在尝试使用该URL时,我总是会得到
404
找不到页面
,因此我无法尝试。