2012-02-21 105 views
2

我在使用請求模塊發送放置時遇到問題。我已經能夠成功完成並使用Chrome的Advanced Rest Client,我已驗證我的有效內容是否正確。但是,我收到一個通用錯誤,說我發送了一個錯誤的請求。我是新來的Web服務調用,我不知道我在做什麼是完全錯誤的,但是這是我試圖:Python請求模塊放置問題

import requests 
payload = {'payload': '<request>some request xml</request>'} 
headers = {'content-type': 'application/xml'} 

r = requests.put('https://the.url', data=payload, auth=HTTPBasicAuth('user', 'password'), headers=headers) 

我知道100%的XML,URL和憑據是正確的,那麼爲什麼上面的工作沒有?唯一我能想到的是,有效載荷的關鍵點需要具體的東西,但我不確定這是否正確或如何找出它應該是什麼...

響應是一個「HTTP狀態400 - 錯誤的請求」

回答

2

挖掘更多的進入Quick Start Guide後,我發現這個信息的TID位:

還有,你要發送未形成編碼數據多次。如果您傳入字符串而不是字典,則會直接發佈該數據。

我最初做這個嘗試,但顯然我有一個錯字,因爲我得到指示的錯誤,我需要在一個字典來傳遞。

無論如何,傳遞直接的XML而不是字典已經解決了這個問題。