python自动登陆有cookie验证的网站
2015-03-09 10:27
399 查看
python的功能很强大,封装了好多实用的包,今天我们就用python来实现简单的自动登陆某一需要cookie验证的网站(zhihu)
#python3.3.5
import re
import urllib.request
import urllib
import urllib.parse
import html
import http.cookiejar
import string
import time
import threading
coding="UTF-8"
def getHtml(url):
page = urllib.request.urlopen(url)
html = page.read()
page.close()
html=html.decode(coding)
return html
def autologin():
#登录的主页面
hosturl = 'http://www.zhihu.com/'
#post数据接收和处理的页面(我们要向这个页面发送我们构造的Post数据)
posturl = 'http://www.zhihu.com/login' #从数据包中分析出,处理post请求的url
#设置一个cookie处理器,它负责从服务器下载cookie到本地,并且在发送请求时带上本地的cookie
cj = http.cookiejar.LWPCookieJar()
cookie_support = urllib.request.HTTPCookieProcessor(cj)
opener = urllib.request.build_opener(cookie_support, urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
#打开登录主页面(他的目的是从页面下载cookie,这样我们在再送post数据时就有cookie了,否则发送不成功)
h = urllib.request.urlopen(hosturl)
#构造header,可以随便找一个抓包工具分析得出的。
headers = { 'Accept' : 'text/html, application/xhtml+xml, */*' ,
'Pragma' : 'no-cache' ,
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
}
#构造Post数据,就是表单填写
postData = {
'email' : 'xxxxxxx', #你的用户名 ,邮箱地址
'password' : 'xxxxxxxxx', #你的密码,此处密码是明文
}
#需要给Post数据编码
postData = urllib.parse.urlencode(postData).encode(coding)
#通过urllib2提供的request方法来向指定Url发送我们构造的数据,并完成登录过程
request = urllib.request.Request(posturl, postData, headers)
response = urllib.request.urlopen(request)
text = response.read()
text = text.decode('utf-8','ignore').encode('utf-8','ignore')
file =open("zhihu.html",'wb')
file.write(text)
file.close()
autologin()
#python3.3.5
import re
import urllib.request
import urllib
import urllib.parse
import html
import http.cookiejar
import string
import time
import threading
coding="UTF-8"
def getHtml(url):
page = urllib.request.urlopen(url)
html = page.read()
page.close()
html=html.decode(coding)
return html
def autologin():
#登录的主页面
hosturl = 'http://www.zhihu.com/'
#post数据接收和处理的页面(我们要向这个页面发送我们构造的Post数据)
posturl = 'http://www.zhihu.com/login' #从数据包中分析出,处理post请求的url
#设置一个cookie处理器,它负责从服务器下载cookie到本地,并且在发送请求时带上本地的cookie
cj = http.cookiejar.LWPCookieJar()
cookie_support = urllib.request.HTTPCookieProcessor(cj)
opener = urllib.request.build_opener(cookie_support, urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
#打开登录主页面(他的目的是从页面下载cookie,这样我们在再送post数据时就有cookie了,否则发送不成功)
h = urllib.request.urlopen(hosturl)
#构造header,可以随便找一个抓包工具分析得出的。
headers = { 'Accept' : 'text/html, application/xhtml+xml, */*' ,
'Pragma' : 'no-cache' ,
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
}
#构造Post数据,就是表单填写
postData = {
'email' : 'xxxxxxx', #你的用户名 ,邮箱地址
'password' : 'xxxxxxxxx', #你的密码,此处密码是明文
}
#需要给Post数据编码
postData = urllib.parse.urlencode(postData).encode(coding)
#通过urllib2提供的request方法来向指定Url发送我们构造的数据,并完成登录过程
request = urllib.request.Request(posturl, postData, headers)
response = urllib.request.urlopen(request)
text = response.read()
text = text.decode('utf-8','ignore').encode('utf-8','ignore')
file =open("zhihu.html",'wb')
file.write(text)
file.close()
autologin()
相关文章推荐
- 使用PYTHON登陆验证网站的几种方式!
- python 利用selenium模拟登录帐号验证网站并获取cookie
- Python 自动登录网站(处理Cookie)
- python实现带验证码网站的自动登陆实现代码
- selenium python cookie 自动登陆
- [转载]python实现带验证码网站的自动登陆
- C# webBrowser自动登陆 windows集成验证的网站
- python实现带验证码网站的自动登陆实现代码
- python实现带验证码网站的自动登陆
- python实现带验证码网站的自动登陆
- python 利用selenium模拟登录帐号验证网站并获取cookie
- Python登陆指定网站并保存Cookie(以登陆SDUTOJ为例)
- Python 自动登录网站(处理Cookie)
- C# webBrowser自动登陆 windows集成验证的网站
- C# webBrowser自动登陆 windows集成验证的网站
- asp.net 程序自动提交登陆表单Session及Cookie
- 使用Putty密钥验证自动登陆服务器
- 解决通过Cookie进行网站自动登录的安全性问题
- 启动电脑后系统就自动为我登陆网站
- 网站模拟登陆备忘(php + python)