2012-10-15 36 views
1

我有这个简单的工作curl命令:如何在python中使用https连接?

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

我只是使用https://www.google.com对其进行测试,它的功能类似于魅力......您希望作为输出什么地方?你有什么错误吗?你最终能提供你的堆栈跟踪吗? –

回答

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)