2012-10-15 39 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)