我有这个简单的工作curl命令:
curl -k -d X-User=user -d X-Password=password https://12.12.12.21
这是我的例子:
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('X-User', 'user'),('X-Password', 'password')]
rr = opener.open("https://12.12.12.21")
print rr.read()
它没有按预期工作(结果:密码/用户名错误),你能帮我理解原因吗?
答案 0 :(得分:3)
您的curl
命令正在使用-d
标记sends the data using POST,而不使用标题。
如果您打算使用标题,则需要使用-H
参数:
curl -k -H X-User=user -H X-Password=password https://12.12.12.21
以下是如何根据需要执行POST请求:
values = {'X-User' : 'user', 'X-Password' : 'password'}
data = urllib.urlencode(values)
req = urllib2.Request("https://12.12.12.21", data)
rr = urllib2.urlopen(req)