2016-01-10 35 views
-1

我使用python 2.7與Windows 8 我想下面的wget運行:Python的 - 使用的wget用POST數據-gett錯誤400錯誤的請求

APIWGET = ["c:\\wget\\wget.exe","--post-data={ user_name: admin, password: 

Admin11!}","--output-document="+APIJSONOUTPUT + 'APIJSONResponse_' + TimeNow 

+ '.txt', "--save-headers", "http....."] 

我有問題與POST數據.. 希望我做對了, 我基本上運行的API,並需要添加「有效載荷」的用戶\密碼「,並得到錯誤400(只發生在我添加發布數據時) 是它發佈數據我需要在這裏使用?如果是這樣,問題是什麼? 謝謝

+0

我猜你的網絡服務器需要一個JSON負載。你寫的東西不是有效的JSON。嘗試使用「{user_name:」admin「,密碼:」Admin11!「}' –

+0

您的發佈數據不是有效的JSON文檔。 –

+0

我試過了:{user_name:「admin」,密碼:「Admin11!」} – ohadshay

回答

0

不嚴格回答t o您的問題,但我強烈建議使用本機Python庫,尤其是requests

簡單的POST請求,可以進行簡單,如:發送POST請求

import requests 
url = "http://..." 
r = requests.post(url, data={"user_name": "admin", "password": "Admin11!"}) 
r.raise_for_status() 
# access response as text 
r.text 
# or json 
r.json() 
# access server response header 
r.headers 

更多細節可以在official docs被發現。

+0

嗨。我試過使用urllib並且得到錯誤400.現在你告訴我什麼是錯誤:(進口urllib 進口urllib2 url ='http:// xxxx:8080/lms/v1/identity/tokens' data = urllib。 urlencode({「user_name」:「admin」,「password」:「Admin11!」}) req = urllib2.Request(url,data) response = urllib2.urlopen(req) d = response.read() 打印d – ohadshay