urllib2实现是太强大,之前用c语言的curl库来实现post请求,觉着实太麻烦。
看了下urllib2的API文档,接着用它来模拟下xiami的登录,呵呵,就那么几行代码,简洁明了~
#!/usr/bin/python
#coding=utf-8
import urllib
import urllib2
def post(url, data):
req = urllib2.Request(url)
data = urllib.urlencode(data)
#enable cookie
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
response = opener.open(req, data)
return response.read()
def main():
posturl = "http://www.xiami.com/member/login"
data = {'email':'myemail', 'password':'mypass', 'autologin':'1', 'submit':'登 录', 'type':''}
print post(posturl, data)
if __name__ == '__main__':
main()
分享到:
相关推荐
本文实例讲述了python使用urllib2提交http post请求的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/python #coding=utf-8 import urllib import urllib2 def post(url, data): req = urllib2....
在Python爬虫开发中,发起HTTP请求是常见的任务,其中POST请求常用于提交数据到服务器。本篇主要讲解使用urllib模块发起POST请求的过程,以爬取百度翻译为例,帮助理解这一操作。 首先,我们需要了解POST请求的基本...
- `urllib2.post()`:虽然`urllib2`模块没有直接提供POST方法,但可以通过创建带有数据的`Request`对象来模拟POST请求。 2. **httplib模块**: - `httplib.HTTPConnection.request('GET', url)`:在`httplibGet....
下面的代码展示了如何使用urllib2发送POST请求: ```python import urllib import urllib2 url = 'http://www.x.com/cgi-bin/register.cgi' values = {'name' : 'Michael Foord', 'location' : 'Northampton', '...
除了简单的GET请求,urllib2还支持POST请求,这通常用于向服务器提交数据。例如,你可以使用`urllib.urlencode()`函数将字典类型的数据编码成URL编码格式,然后作为POST请求的数据传递给`Request`对象: ```python ...
2. 批量发送POST请求:文档介绍了如何在Python中实现批量发送POST请求的功能。在真实场景中,这种需求可能出现在需要自动化测试、数据采集、接口调用等多个场景。文档提供了Java和Python两种语言的实现代码,对初学...
Urllib 库的 Request 对象可以用来设置数据,并将其作为 POST 请求的参数。例如,以下代码可以将用户名和密码作为 POST 请求的参数: ``` import urllib import urllib2 data = urllib.urlencode({"username":"park...
通过使用Python内置的`urllib`和`urllib2`库(后者仅限于Python 2.x版本),我们可以轻松地发送HTTP GET和POST请求,并获取服务器响应的数据。这两个库提供了丰富的功能,使得开发人员能够更加方便地与Web服务进行...
本文实例讲述了python使用urllib2实现发送带cookie的请求。分享给大家供大家参考。具体实现方法如下: import urllib2 opener = urllib2.build_opener() opener.addheaders.append(('Cookie','cookiename=cookie...
在Python中,我们可以使用`urllib2.Request`和`urllib.urlencode`来构造POST请求。 示例代码如下: ```python import urllib import urllib2 # 构造POST请求 params = {'account': 'jredu', 'pwd': ''} # ...
对于POST请求,`urllib2.Request`允许传递数据字典,并通过`urllib.urlencode()`转换成URL编码格式: ```python import urllib import urllib2 url = 'http://www.example.com/' values = {'name': 'Michael Foord'...
2. **POST请求与GET请求的区别**:虽然两者都可以用来发送数据,但POST请求更适合于发送大量的数据或者敏感数据,因为它不会将数据暴露在URL中。 3. **参数传递方式**:GET请求通常将参数附加在URL后面,而POST请求...
2. **POST请求**:与GET请求不同,POST请求用于向服务器发送被置于请求体中的数据。这种请求方式更适用于需要用户提交表单数据的应用场景。 3. **URL编码**:由于URL中不能包含空格或其他特殊字符,因此需要对这些...
其中,POST请求是一种常见的方法,它主要用于向服务器提交数据。本篇文章将详细介绍如何使用Python发送POST请求,并提供一个具体的示例。 #### POST请求的基本概念 在HTTP协议中,POST是一种用于向指定资源提交...
在WebQQ的例子中,可能需要解析登录页面的HTML,提取隐藏字段,然后构造正确的POST请求。 4. **网络通信**:利用urllib2进行网络通信,接收和发送消息,需要理解HTTP协议,包括请求头、请求体、响应码和响应体等。 ...
2. **请求参数设置**:在发起请求时,我们可以设置各种参数,如方法(GET/POST等)、URL、数据、头部信息等。 3. **响应处理**:收到服务器响应后,可以通过`.data`获取响应体,`.status`获取状态码,`.headers`...
POST请求常用于向服务器发送数据,如表单提交,它的数据不会显示在URL中,而是作为HTTP请求体的一部分。在Python中,POST请求的实现稍有不同: ```python params = urllib.urlencode({'programe': 'python', 'age':...