答案 0 :(得分:1)
在最后一行中,auth
缺少“=
'签名:
req = r.post(vst_hostname, auth(vst_username, vst_hostname), \
params=postvars, verify=False)
有关详细信息,请参阅authentication section in the requests
documentation。
答案 1 :(得分:0)
当你这样做时
r.post(vst_hostname, auth(vst_username, vst_hostname), params=postvars, verify=False)
你做的相当于
r.post(vst_hostname, data=auth(vst_username, vst_hostname), params=postvars, verify=False)
你想做什么
r.post(vst_hostname, auth=auth(vst_username, vst_hostname), params=postvars, verify=False)
此外,您可以简化此操作。您不需要明确说出HTTPBasicAuth(vst_username, vst_hostname)
,而是可以简单地传递一个这样的元组:
r.post(vst_hostname, auth=(vst_username, vst_hostname), params=postvars, verify=False)
我也不熟悉PHP代码的工作方式,因此您需要了解params=postvars
创建查询字符串参数的事实,因此它与执行POST
相同到
https://188.188.188.88/api?cmd=v-add-user&arg1=...&arg2=...
相反,如果数据应该在您要执行的请求的正文中:
r.post(vst_hostname, auth=(vst_username, vst_hostname), data=postvars, verify=False)