您的位置:首页 > 编程语言 > Python开发

python 使用post登录网易

2015-06-22 22:15 627 查看
经过这几天的学习,手动实验成功post登录网易,特做如下记录:

总体流程如下:

1.抓取登录是发送的http数据包,分析其内容:

可以看到请求类型为POST,也可以看到发送的参数,构造数据包如下:

cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
posturl = 'https://reg.163.com/logins.jsp'
headers ={'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',
           'Referer' : 'http://www.163.com/'}
postdata={"username":"qw28615937@163.com",
"password":"XXXXXXXXXXXXX",
"type":"1",
"product":"163",
"savelogin":"0",
"url":"http://www.163.com/special/0077450P/login_frame.html",
"url2":"http://www.163.com/special/0077450P/login_frame.html",
"noRedirect":"1"}
这里我们使用了cookie,为的是登录后可以使用保存在
opener 中的coolie,直接取访问需要登录的页面。
2.数据包构造好后我们就使用urllib2.Reques构造请求对象;

req = urllib2.Request(posturl, data, headers)


3.构造后请求对象后使用response = opener.open(req);获取回应体;

登录成功后我们就可以利用已经获取的cookie直接访问 需要登录后才可以访问的页面了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: