python登陆asp网站页面的实现代码
admin
2023-07-31 02:10:15
0

使用python来登录asp网站和登录其他网站差不多,只是因为asp页面在每次请求的时候都要带上viewstate,因此使用python来登录的话就多了一个步骤,获得这个页面的viewstate之后带上这个和你要post或get到该页面的请求数据就好了,下面这段程序是登录一个asp系统,然后搜索某些数据并将这些数据保存下来.

#coding=utf-8 
import urllib2 from bs4 import BeautifulSoup import urllib import cookielib import re import httplib import time 
 
 
loginUrl=\"登录地址\"
headers={\"User-Agent\":\"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36\"} 
studentCookie = cookielib.CookieJar()  
pageOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(studentCookie)) 
loginPageRequest = urllib2.Request(loginUrl)  
loginPageHTML = pageOpener.open(loginPageRequest).read() \"\"\" 
s=requests.Session() 
s.headers.update(headers) 
r=s.get(loginUrl) 
\"\"\" print loginPageHTML 
soup=BeautifulSoup(loginPageHTML) 
 
__VIEWSTATE=soup.find(id=\"__VIEWSTATE\")[\'value\'] 
__EVENTVALIDATION=soup.find(id=\"__EVENTVALIDATION\")[\'value\'] 
 print __VIEWSTATE print __EVENTVALIDATION 
 
login_data={ 
   \' __EVENTTARGET\':\'\', \'__EVENTARGUMENT\':\'\', \'__LASTFOCUS\':\'\', \'__VIEWSTATE\':__VIEWSTATE, \'__EVENTVALIDATION\':__EVENTVALIDATION, \'ClienScreentHeight\':\'768\', \'TextBoxUserID\':\'username\', \'TextBoxPWD\':\'password\', \'drpLanguage\':\'zh-CN\', \'ButtonConfirm.x\':\'45\', \'ButtonConfirm.y\':\'64\'
   } 
loginHeader = {  
           
          \'User-Agent\':\'sssssssssssssssssssssss\' 
          } 
loginData=urllib.urlencode(login_data) 
loginRequest = urllib2.Request(loginUrl , loginData , headers) 
loginResponse = pageOpener.open(loginRequest) 
 print loginResponse 
 
theurl=\'登录后搜索页面地址\'
 
mainPageRequest = urllib2.Request(theurl) 
 
mainPageHTML = pageOpener.open(mainPageRequest).read()  
soup=BeautifulSoup(mainPageHTML) 
 
__VIEWSTATE=soup.find(id=\"__VIEWSTATE\")[\'value\'] #__EVENTVALIDATION=soup.find(id=\"__EVENTVALIDATION\")[\'value\'] print __VIEWSTATE #print __EVENTVALIDATION 
searchdata={ 
      \'__VIEWSTATE\':__VIEWSTATE, 
      \'__EVENTVALIDATION\':\'\', 
      \'txtCopNO\':\'\', \'txtCAR_NO_S\':\'\', \'drpStatus\':\'\', \'txtHiddenOrOnline\':\'none\', \'txtAuto_id\':\'\', \'drpType\':\'\', \'drpBaseType\':\'\', \'ddlIsStatus\':0, \'txtICCard\':\'\', \'txtBILL_NO\':\'\', \'txtGDateTime1\':\'\', \'txtGDateTime2\':\'\', \'drpFromKA\':\'\', \'drpToKA\':\'\', \'btnSearch\':\'%E6%9F%A5+%E8%AF%A2%28F%29\'
} 
 
data2=urllib.urlencode(searchdata) 
 
 
  
 
searchData=urllib.urlencode(searchdata) 
searcgRequest=urllib2.Request(theurl , searchData , headers) 
searchResponse=pageOpener.open(searcgRequest) 
 print loginResponse print searchResponse 
 
searchHtml=searchResponse.read() 
 
 
filename= r\'C:\\Users\\Dell\\Desktop\\getlogin\\file\'+time.strftime(\'%d%H%M\',time.localtime(time.time()))+\'.html\'
 file=open(filename,\'w\') file.write(searchHtml) file.close() 
 print \'end\' #raw_input()

原文:python登陆asp网站页面

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...