resentment

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
发表于 2016-11-13 21:34  resentment  阅读(674)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-10-23
  • 2022-12-23
  • 2021-11-13
  • 2021-05-21
  • 2021-11-02
  • 2021-11-22
  • 2021-10-21
  • 2022-12-23
猜你喜欢
  • 2022-02-25
  • 2021-07-09
  • 2021-11-28
  • 2021-12-01
  • 2018-04-16
  • 2022-12-23
  • 2021-10-08
相关资源
相似解决方案