2013-10-11 72 views
0

我正在使用python請求庫來獲取和發佈http內容。我使用get函數沒有問題,但是我的post函數似乎失敗或根本沒有做任何事情。從我的理解請求庫POST功能自動編碼你發送的數據,但我不知道這是實際發生的事情HTTP requests.post失敗

代碼:通過檢查「價值」的HTML我可以告訴大家,

data = 'hash='+hash+'&confirm=Continue+as+Free+User' 
r = requests.post(url,data) 
html = r.text 

返回響應是沒有POST的URL。

回答

3

您沒有充分利用請求將如何爲您編碼。要這樣做,你需要這樣寫你的代碼:

data = {'hash': hash, 'confirm': 'Continue as Free User'} 
r = requests.post(url, data) 
html = r.text 

我不能測試這個給你,但這是編碼自動發生的方式。

0
post(url, data=None, **kwargs) 
Sends a POST request. Returns :class:`Response` object. 

:param url: URL for the new :class:`Request` object. 
:param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. 
:param \*\*kwargs: Optional arguments that ``request`` takes.