Python连接到rest api

2024-09-27 00:22:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用以下代码连接到rest api:

data = requests.get("http://pbx/rest/login").json()
head = {'loginType' : 'Internal','nonce' : data["nonce"], 'secret' : (hashlib.sha1((LOGIN_ID+data['nonce']+PASSWORD).encode('utf-8')).hexdigest())}
data_new = requests.post('http://pbx/rest/login',data=head)
print(data_new)

从pbx请求nonce就可以了,然后我需要生成登录密码并将其发布到pbx,答案应该是一个令牌

但打印(数据)显示我和打印(数据_新建.json())崩溃,错误如下:

^{pr2}$

Tags: 数据代码restapijsonhttpnewdata
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:18

看起来你得到了一个空的响应体,没有什么可解析的。以下是获取相同json错误的片段:

>>> import json
>>> json.loads('')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/json/__init__.py", line 318, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.4/json/decoder.py", line 343, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.4/json/decoder.py", line 361, in raw_decode
    raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)

所以我要做以下几点:

  1. print(d.headers, d.status_code)。你会看到你的HTTP响应代码,也许还会在响应头中看到一些有用的东西。考虑到这些信息,请查看pbx服务器的文档,以了解它的含义,然后可能会在构建第二个请求时修复某些问题。在
  2. 如果您可以访问日志文件,请检查那里发生了什么。如果你没有这个权限,请联系拥有它的人

相关问题 更多 >

    热门问题