zoukankan      html  css  js  c++  java
  • python登录aspx网站

    1.安装模块

      

    2.准备aspx登录页面

    3.示例代码

     1 #coding:utf-8
     2 import re
     3 from bs4 import BeautifulSoup
     4 import gzip
     5 import urllib.request
     6 import urllib.parse
     7 import http.cookiejar
     8 import ssl
     9 import time
    10 
    11 loginurl='http://192.168.0.108:8005/login.aspx'
    12 vercodeurl='http://192.168.0.108:8005/vercode.aspx?r=%d'
    13 
    14 heads={
    15             "Accept":"text/html, application/xhtml+xml, */*",
    16             "Accept-Language":"zh-CN",
    17             "User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0",
    18             "Accept-Encoding": "gzip, deflate",
    19             "Host": "http://192.168.0.108:8005",
    20             "DNT": "1",
    21             "Connection": "Keep-Alive"
    22             }
    23 
    24 def get_opener(heads):
    25     cj=http.cookiejar.CookieJar()
    26     pro=urllib.request.HTTPCookieProcessor(cj)
    27     opener=urllib.request.build_opener(pro)
    28     header=[]
    29     for key,value in heads.items():
    30         header.append((key,value))
    31     opener.addheaders=header
    32     return opener
    33 
    34 def ungzip(data):
    35     try:
    36         data=gzip.decompress(data)
    37         #with open("222.txt",'wb') as file:
    38              #file.write(data)
    39     except:
    40         pass
    41     return data    
    42 
    43 if __name__=="__main__":
    44     ssl._create_default_https_context = ssl._create_unverified_context 
    45     opener=get_opener(heads)
    46     op=opener.open(loginurl)
    47     data1=op.read()
    48     data1=ungzip(data1).decode('utf-8')
    49     soup=BeautifulSoup(data1,"html.parser")
    50     
    51     VIEWSTATE=soup.find("input",{'type':'hidden','name':'__VIEWSTATE'}).get("value")
    52     VIEWSTATEGENERATOR=soup.find("input",{'type':'hidden','name':'__VIEWSTATEGENERATOR'}).get("value")
    53     EVENTVALIDATION=soup.find("input",{'type':'hidden','name':'__EVENTVALIDATION'}).get("value")
    54     
    55     '''正则获取隐藏值
    56     regular = {
    57         'viewstate': re.compile(r'id="__VIEWSTATE" value="(.+)" />'),
    58         'eventvalidation': re.compile(r'id="__EVENTVALIDATION" value="(.+)" />')
    59     }
    60     print(regular['viewstate'].findall(data1)[0])
    61     '''
    62 
    63     vercodedata=opener.open(vercodeurl% (time.time() * 1000)).read()
    64     with open("auto100.jpeg",'wb') as file:
    65         file.write(vercodedata)
    66     yzm=input("请输入验证码:")
    67     postdata={
    68         "__VIEWSTATE":VIEWSTATE,
    69         "__VIEWSTATEGENERATOR":VIEWSTATEGENERATOR,
    70         "__EVENTVALIDATION":EVENTVALIDATION,
    71         "username":"sulin",
    72         "userpwd":"123",
    73         "btnlogin":"登录",
    74         "vercode":yzm
    75         }
    76     postdata=urllib.parse.urlencode(postdata).encode('utf-8')
    77 
    78     op2=opener.open(loginurl,postdata)
    79     login_data=op2.read()
    80     data=ungzip(login_data).decode("utf-8")
    81     print(data)
    82    

    4.测试结果

  • 相关阅读:
    物料描述不可更新(分配组织后)
    完工任务不允许更改需求
    作业需求更改,限制车间人员只允许修改子库
    只允许更改**类型的任务需求
    车间任务移动完工时检验倒冲子库
    有库存不能停用子库存
    不允许修改标准作业需求
    PHP关于重写与重载
    面向对象的三个基本特征 封装 继承 多态
    PHP中的面向对象 中的类(class)
  • 原文地址:https://www.cnblogs.com/linsu/p/8462385.html
Copyright © 2011-2022 走看看