0

urllib2 リクエストで urllib2.open を使用してサイトに xml を投稿すると、エラーが発生します。投稿する必要がある xml 文字列として data パラメーターを設定しましたが、「POST パラメーター "xml" で XML データが送信されませんでした」というエラーが表示されます。

名前付きの「投稿パラメーター」に表示されるようにデータを設定する方法を知っている人はいますか?

助けてくれてありがとう

コードは次のようになります。

req = urllib2.request(url=theurl,data = xml,headers = {'Content-type': 'application/xml'}
response = urllib2.urlopen(req)

xml は生の xml を含む単なる文字列です

req.data を印刷すると、投稿したい xml が得られます。しかし、受信サイトは「xml」と呼ばれる POST パラメータでそれを望んでいます。それを制御する方法がわかりません。

4

1 に答える 1

1

data'parameter_name': value-typeの辞書である必要があります

url = 'http://www.someserver.com/some/handler'
values = {'name' : 'Some Name',
          'location' : 'SomeCity',
          'xml': your_xml}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
于 2012-08-29T20:27:15.273 に答える