网页登陆

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