python登录aspx网站
1.安装模块

2.准备aspx登录页面

3.示例代码
#coding:utf-8
import re
from bs4 import BeautifulSoup
import gzip
import urllib.request
import urllib.parse
import http.cookiejar
import ssl
import time loginurl='http://192.168.0.108:8005/login.aspx'
vercodeurl='http://192.168.0.108:8005/vercode.aspx?r=%d' heads={
"Accept":"text/html, application/xhtml+xml, */*",
"Accept-Language":"zh-CN",
"User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0",
"Accept-Encoding": "gzip, deflate",
"Host": "http://192.168.0.108:8005",
"DNT": "",
"Connection": "Keep-Alive"
} def get_opener(heads):
cj=http.cookiejar.CookieJar()
pro=urllib.request.HTTPCookieProcessor(cj)
opener=urllib.request.build_opener(pro)
header=[]
for key,value in heads.items():
header.append((key,value))
opener.addheaders=header
return opener def ungzip(data):
try:
data=gzip.decompress(data)
#with open("222.txt",'wb') as file:
#file.write(data)
except:
pass
return data if __name__=="__main__":
ssl._create_default_https_context = ssl._create_unverified_context
opener=get_opener(heads)
op=opener.open(loginurl)
data1=op.read()
data1=ungzip(data1).decode('utf-8')
soup=BeautifulSoup(data1,"html.parser") VIEWSTATE=soup.find("input",{'type':'hidden','name':'__VIEWSTATE'}).get("value")
VIEWSTATEGENERATOR=soup.find("input",{'type':'hidden','name':'__VIEWSTATEGENERATOR'}).get("value")
EVENTVALIDATION=soup.find("input",{'type':'hidden','name':'__EVENTVALIDATION'}).get("value") '''正则获取隐藏值
regular = {
'viewstate': re.compile(r'id="__VIEWSTATE" value="(.+)" />'),
'eventvalidation': re.compile(r'id="__EVENTVALIDATION" value="(.+)" />')
}
print(regular['viewstate'].findall(data1)[0])
''' vercodedata=opener.open(vercodeurl% (time.time() * 1000)).read()
with open("auto100.jpeg",'wb') as file:
file.write(vercodedata)
yzm=input("请输入验证码:")
postdata={
"__VIEWSTATE":VIEWSTATE,
"__VIEWSTATEGENERATOR":VIEWSTATEGENERATOR,
"__EVENTVALIDATION":EVENTVALIDATION,
"username":"sulin",
"userpwd":"",
"btnlogin":"登录",
"vercode":yzm
}
postdata=urllib.parse.urlencode(postdata).encode('utf-8') op2=opener.open(loginurl,postdata)
login_data=op2.read()
data=ungzip(login_data).decode("utf-8")
print(data)
4.测试结果

python登录aspx网站的更多相关文章
- 使用Python登录Github网站
在下面的代码中, 展示了使用Python脚本登录Github的方法. 如果需要登录别的网站,那么请使用Chrome的Inspect的功能寻找到目标的object,对代码进行替换. 代码先登录了gith ...
- 使用 Python 登录网站(转)
对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看. 这是因为 HTTP 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登录了呢?有两种方式 ...
- python爬虫笔记之用cookie访问需要登录的网站
目标:用cookie访问一个需要登录的网站 如图,直接访问会跳转到登录页面,提示登录. 运行结果: 直接在浏览器上输入该url,网站立马跳转到登录页面. 方法: 1.先手动登录,通过抓包获取coo ...
- python urllib2 模拟网站登陆
python urllib2 模拟网站登陆 1. 可用浏览器先登陆,然后查看网页源码,分析登录表单 2. 使用python urllib2,cookielib 模拟网页登录 import urllib ...
- python创建简单网站
前言 本方法基于web2py框架,使用web2py的完整网站数据包创建简单网站. web2py 是一个为Python语言提供的全功能Web应用框架,旨在敏捷快速的开发Web应用,具有快速.安全以及可移 ...
- python爬某个网站的图片
# _*_ coding: gbk _*_ import urllib import urllib2 import re class Spider: def getImage(self,html): ...
- 详细介绍windows下使用python pylot进行网站压力测试
windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是pytho ...
- Python Socket请求网站获取数据
Python Socket请求网站获取数据 ---阻塞 I/O ->收快递,快递如果不到,就干不了其他的活 ---非阻塞I/0 ->收快递,不断的去问,有没有送到,有没有送到,. ...
- 在IIS7上部署aspx网站
在IIS7上部署aspx网站 2016-12-06 1 示例代码 WebForm.aspx内容: <html> <head> <script language=" ...
随机推荐
- H5 回到顶部按钮
//这里我用的是svg,所以代码老长了,可以把svg部分换成自己的图片什么的$(function(){ var obj = $('<div style="width:1.3rem;po ...
- java基础编程题(1)
1. 题目:打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1...... package com.jzq.test1; ...
- 1 A+B问题
原题网址: http://www.lintcode.com/zh-cn/problem/a-b-problem/# 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符. 注意事项 你不需 ...
- spring 中常用的设计模式
一. Spring 中常见的设计模式 工厂模式 : BeanFactory 装饰器模式: BeanWrapper 代理模式: AopProxy 单例模式: ApplicationContext 委派模 ...
- 【题解】洛谷 P1061 Jam的计数法
#include <iostream> #include <cstring> #include <cstdio> using namespace std; int ...
- 关于Delphi中的字符串的详细分析
关于Delphi中的字符串的详细分析 只是浅浅的解析下,让大家可以快速的理解字符串. 其中的所有代码均在Delphi7下测试通过. Delphi 4,5,6,7中有字符串类型包括了: 短字符串(S ...
- Delphi THashedStringList用法
Delphi中的THashedStringList对象 Delphi在在IniFiles 单元中定义了THashedStringList类: THashedStringList = class(TSt ...
- JS 二维数组
给一个数组元素,赋一个数组的值,那么,这个数组就是“二维数组”. 二维数组,就得用两层循环来实现.也就是说循环套循环. 二维数组的循环,与二维表格的循环一模一样. 二维数组的访问:数组名后跟多个连续的 ...
- 二分图最佳匹配KM算法 /// 牛客暑期第五场E
题目大意: 给定n,有n间宿舍 每间4人 接下来n行 是第一年学校规定的宿舍安排 接下来n行 是第二年学生的宿舍安排意愿 求满足学生意愿的最少交换次数 input 2 1 2 3 4 5 6 7 8 ...
- Lost's revenge HDU - 3341 AC自动机+DP(需要学会如何优雅的压缩状态)
题意: 给你n个子串和一个母串,让你重排母串最多能得到多少个子串出现在重排后的母串中. 首先第一步肯定是获取母串中每个字母出现的次数,只有A T C G四种. 这个很容易想到一个dp状态dp[i][A ...