网页登陆
网页登陆的原理都是,保持一个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