python模拟http请求2

发现了一个非常好用的第三方module:requests,模拟接口非常简单。

详细了解请移步:http://docs.python-requests.org/en/latest/

非常不错

#!coding:utf-8 相信这句大家都懂的,不解释

#导入需要的requests

import requests

#定义请求头

reqheaders={'Content-type':'application/x-www-form-urlencoded', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Host':'www.renren.com', 'Origin':'http://zhichang.renren.com', 'Referer':'http://zhichang.renren.com', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1',}

#定义post的参数,requests模块,参数不用编码

reqdata={'email':'xxxx@xxx.com', 'password':'xxxx', 'autoLogin':'on', 'origURL':'http://zhichang.renren.com/?login_state=rr', 'domain':'renren.com' }

#模拟post请求,不让自动重定向

res=requests.post("http://www.renren.com/PLogin.do",data=reqdata,headers=reqheaders,allow_redirects=False)

#模拟post请求,这个是自动重定向

#res=requests.post("http://www.renren.com/PLogin.do",data=reqdata,headers=reqheaders)

#打印服务器返回的状态

print(res.status_code)

#打印服务器返回的内容

print(res.content)

#打印重定向的URL地址

print(res.headers['Location'])

#打印服务器返回的cookie

print(res.headers['Set-Cookie'])

以下是程序的运行结果

302

The URL has moved <a href="http://zhichang.renren.com/?login_state=rr">here</a>

anonymid=hrt38gcmbjulj4; domain=.renren.com; path=/; expires=Sun, 17-Feb-2019 11:27:44 GMT, _de=97FB170A42B4342D1C47A157AD77AAFC1383380866D39FF5; domain=.renren.com; path=/; expires=Fri, 13-Feb-2015 11:27:44 GMT, p=31991a0a194c34e606ef1263317b06372; domain=renren.com; path=/; expires=Thu, 20-Mar-2014 11:27:44 GMT, ap=229996362; domain=renren.com; path=/; expires=Thu, 20-Mar-2014 11:27:44 GMT, first_login_flag=1; domain=renren.com; path=/, t=7f5cc046700354f79346b8b51f2361882; domain=.renren.com; path=/, t=b28114ad2246bad1b6b67f07b3b6c0a3; domain=renren.com; path=/xtalk/, societyguester=7f5cc046700354f79346b8b51f2361882; domain=.renren.com; path=/, id=229996362; domain=.renren.com; path=/, xnsid=bb3f9425; domain=.renren.com; path=/, loginfrom=syshome; domain=.renren.com; path=/