0

我正在尝试从 Ubiquity UNIFY 门户网站生成凭证。它有一个 API,并且有一些想法可以将它与 PHP 一起使用,但我想使用 Python 2.6 来生成..(如果这是必须的,我可以使用其他 Python 版本)

我的代码是:

import urllib, json
import urllib2
import unifi
import os
import requests

def JsonLogin():
    payload = {"username" : "myuser","password" : "mypassword"}
    r = requests.post("https://ubnt.myserver.com:8443/api/login", data=payload, verify=False)
    print r

def JsonApi():
    payload = {"cmd":"create-voucher","minutes":1440,"n":1}
    r = requests.post("https://ubnt.myserver.com:8443/api/cmd/hotspot", data=payload, verify=False)
    print r

JsonLogin();
JsonApi();

我的结果是:

   <Response [400]>
   <Response [401]>

它返回 400 是否有任何逻辑,女巫意味着错误......这是因为我发送了无效的 JSON,还是因为语法或 JSON 标签错误?

4

1 回答 1

0

尝试这个

payload='{"username":"myuser","password":"mypassword","strict":true}' r = requests.post(" https://ubnt.myserver.com:8443/api/login " , data=payload, verify=False) 打印 r

它应该返回 200

然后以某种方式将登录返回的 cookie 值设置为变量 cookies=r.cookies

然后

r = requests.post(" https://ubnt.myserver.com:8443/api/cmd/hotspot ", data=payload, verify=False, cookies=cookies)

我将它与 GET 一起使用,它可以工作

于 2018-03-10T08:42:30.417 回答