温习下通过cookie来访问页面,
关于cookie和session,搜了一个简单的定义:Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
so我们可以通过客户端存储的cookie信息来直接访问网站的其它url。
#coding:utf-8
from http import cookiejar
import requests
from bs4 import BeautifulSoup
import time
import cookielib
import urllib2
headers = {
"Host": "passport.tongtool.com",
"Referer": "https://passport.tongtool.com/",
"Content-Type":"Content-Type:application/x-www-form-urlencoded",
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87',
}
def get_captcha():
"把验证码图片保存到当前目录,手工识别验证码"
captcha_url='https://passport.tongtool.com/captcha.jpg'
r=session.get(captcha_url,headers=headers,verify=False)
with open('captcha.jpg','wb') as f:
f.write(r.content)
captcha=input('验证码:')
return captcha
def login(user,password):
session=requests.session()
s=session.get("https://passport.tongtool.com",headers=headers,verify=False)
login_url='https://passport.tongtool.com/check'
data={
'username':username,
'password':password,
'captcha':get_captcha(),
'remember':1,
'u':'',
}
respone=session.post(login_url,data=data,verify=False)
print s.cookies.get_dict() #cookie的格式以dict存储
print dir(respone)
res1=session.get("http://erp104.tongtool.com/dashboard/homepage/index.htm",cookies=s.cookies.get_dict(),verify=False)
print res1.text
if __name__ == '__main__':
login('******','*****')