2013-10-11 69 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.