正文
表单提交登录 向服务器发送一个post请求并携带相关参数,将服务器返回的cookie保存在本地,cookie是服务器在客户端上的“监视器”,记录了登录信息等。客户端通过识别请求携带的cookie,确定是否登录
params = {'username': 'root', 'passwd': 'root'}
response = requests.post("http:xxx.com/login", data=params)
for key,value in response.cookies.items():
print('key = ', key + ' ||| value :'+ value)
cookie登录 我们可以将登录的cookie存储在文件中。
import urllib.request
import http.cookiejar
"""
保存登录的cookie
"""
"""
MozillaCookieJar :cookiejar的子类
从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。
"""
cookie = http.cookiejar.MozillaCookieJar('cookie.txt')
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
request = urllib.request.Request('http://flights.ctrip.com/',headers={"Connection": "keep-alive"})
response = opener.open(request)
cookie.save(ignore_discard=True, ignore_expires=True)
"""
请求携带文件中的cookie
"""
import urllib.request
import http.cookiejar
cookie = http.cookiejar.MozillaCookieJar()
cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
request = urllib.request.Request('http://flights.ctrip.com/')
html = opener.open(request).read().decode('gbk')
print(html)