python3使用requests登录人人影视网站
2016-05-11 09:36
453 查看
python3使用requests登录人人影视网站
继续练习使用requests登录网站,人人影视有一项功能是签到功能,需要每天登录签到才能升级。
下面的代码python代码实现了使用requests登录网站的过程。
以下是使用fiddler抓包得到完整的HTTP请求头:
python3使用requests登录人人影视网站.py代码:
对比其中两者可见,有一些HTTP头省略掉也能达到目的,毕竟每次手动请求头感觉挺麻烦的。
在fidder 中Connection: keep-alive Content-Length: 两项不能省略,
ncat之类的工具中也不能省略Content-Length,如果改动了post的数据,需要手动修正Content-Length的值。
在python中可以省略掉Content-Length,我猜python已经帮我们处理了。
继续练习使用requests登录网站,人人影视有一项功能是签到功能,需要每天登录签到才能升级。
下面的代码python代码实现了使用requests登录网站的过程。
以下是使用fiddler抓包得到完整的HTTP请求头:
POST http://www.zimuzu.tv/User/Login/ajaxLogin HTTP/1.1 Host: www.zimuzu.tv Connection: keep-alive Content-Length: 102 Accept: application/json, text/javascript, */*; q=0.01 Origin: http://www.zimuzu.tv X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36 Content-Type: application/x-www-form-urlencoded DNT: 1 Referer: http://www.zimuzu.tv/user/login Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.8,en;q=0.6 Cookie: PHPSESSID=st40f3vohv6q16ec3atekimba0; last_item:10733=Game.of.Thrones.S06E01.The.Red.Woman.1080p.WEB-DL.DD5.1.H.264-NTb.mkv; last_item_date:10733=1461856566; mykeywords=a%3A2%3A%7Bi%3A0%3Bs%3A6%3A%22%E7%A1%85%E8%B0%B7%22%3Bi%3A1%3Bs%3A14%3A%22Silicon+Valley%22%3B%7D; zmz_rich=2 account=你的用户名&password=你的密码&remember=1&url_back=http%3A%2F%2Fwww.zimuzu.tv%2Fuser%2Fsign
python3使用requests登录人人影视网站.py代码:
""" python3使用requests登录人人影视网站.py 2016年5月11日 07:33:59 codegay 参考资料requests文档: http://cn.python-requests.org/zh_CN/latest/ 四种常见的 POST 提交数据方式 https://imququ.com/post/four-ways-to-post-data-in-http.html """ import re import requests #requests 安装命令:pip install requests loginurl='http://www.zimuzu.tv/User/Login/ajaxLogin' surl='http://www.zimuzu.tv/user/sign' httphead={ 'Accept':'application/json, text/javascript, */*; q=0.01', 'Origin':'http://www.zimuzu.tv', 'X-Requested-With':'XMLHttpRequest', 'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded', } data="account=用户名&password=密码&remember=1" session=requests.Session() login=session.post(loginurl,data=data,headers=httphead) print(login.cookies)#打印登录后取得到cookies对象 print(login.json()) getstat=session.get(surl).text.split("\n") #访问签到页面,显示最近三次登录时间 [print(r) for r in getstat if "三次登录时间" in r]
对比其中两者可见,有一些HTTP头省略掉也能达到目的,毕竟每次手动请求头感觉挺麻烦的。
在fidder 中Connection: keep-alive Content-Length: 两项不能省略,
ncat之类的工具中也不能省略Content-Length,如果改动了post的数据,需要手动修正Content-Length的值。
在python中可以省略掉Content-Length,我猜python已经帮我们处理了。
相关文章推荐
- python 函数
- setup pip, PyMySQL,Jupyter in python 3.3
- python中的对象
- python中的协程(协同程序)
- Python 正则表达式
- 《Python核心编程》第6章 习题
- 科学计算工具-ipython
- python socket理论知识
- python解析XML之ElementTree
- python(一)读取外包txt文档,并创建数据
- Python3控制路由器――使用requests重启极路由.py
- Python3使用requests发闪存的方法
- Python匹配中文的正则表达式
- python数据持久存储:pickle
- 为什么在Python里推荐使用多进程而不是多线程?
- Python的GIL是什么鬼,多线程性能究竟如何
- spark分布式平台下python环境的搭建
- Jieba分词Python简单实现
- python设计模式(二)--策略模式(上)
- python设计模式(二)--策略模式(中)