Python3 登陆网页并保持cookie

时间:2023-03-08 19:30:30
Python3 登陆网页并保持cookie

网页登陆

网页登陆的原理都是,保持一个sessionid在cookie然后,根据sessionid在服务端找到cookie进行用户识别

python实现

由于python的简单以及丰富的类库是开发网络爬虫的理想选择,下面是python3进行网页登陆和访问的代码

import urllib          #urllib包用于http请求
import http.cookiejar #cookiejar是用来保存cookie
import socket #socket用于控制网络连接(这里用于控制超时) cookie = http.cookiejar.CookieJar() #创建cookiejar用于保存cookie
cjhdr = urllib.request.HTTPCookieProcessor(cookie) #创建cookiehandler用于管理http的cookie
opener = urllib.request.build_opener(cjhdr) #将cookiehandler注册并生成一个opener之后使用这个opener就可以自动保存cookie
socket.setdefaulttimeout(5) #设置全局timeout loginUrl = "http://XXXX:XX/XX"
loginPostData = urllib.parse.urlencode({'USERNAME': 'myname', 'PASS': 'mypass‘}).encode('utf-8')
loginRequest = urllib.request.Request(loginUrl, loginPostData,method='POST'); #创建post请求
response = opener.open(loginRequest) #请求request
print( response.read().decode()) #输出返回 #现在再往该domain发送请求就会带有cookie了 get_url = 'http://XXXX:XX/YY' #同一域名的url
get_request = urllib.request.Request(get_url) #创建request
get_response = opener.open(get_request) #请求request