1

私はこの単純な動作する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()

期待どおりに機能していません(結果:パスワード/ユーザー名が間違っています)。理由を理解するのに役立ちますか?

4

1 に答える 1

3

コマンドcurlは、ヘッダーを使用せずにPOSTを使用してデータを送信する-dフラグを使用しています。

ヘッダーを使用する場合は、-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)
于 2012-10-15T14:44:18.623 に答える