【发布时间】:2015-04-26 07:45:08
【问题描述】:
【问题讨论】:
-
在您的问题中也包含代码!谢谢!
标签: php python curl python-requests
【问题讨论】:
标签: php python curl python-requests
在您的最后一行中,auth 缺少“=”符号:
req = r.post(vst_hostname, auth(vst_username, vst_hostname), \
params=postvars, verify=False)
请参阅authentication section in the requests documentation 了解更多信息。
【讨论】:
当你这样做时
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)
【讨论】: