用请求传递数据modu

2024-06-17 07:52:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图向我的大学网页请求检索我的成绩。 有我成绩的页面需要先登录“http://www4.uva.br/UniversusNet/Seguro/Login.aspx?ReturnUrl=%2fUniversusNet%2fNotasFaltasTotais.aspx” 这一页把我引向年级。你知道吗

我想在我制作的应用程序上打印我的成绩。 到目前为止,我做了这个代码来打印页面,但是当我执行时返回的是错误407:代理身份验证 我想知道我现在错过了什么。。。。你知道吗

from requests import *

payload = {'__EVENTTARGET':'','__EVENTARGUMENT':'','__VIEWSTATE':'/wEPDwULLTE4NzU1ODgxNTkPZBYCZg9kFgICAw9kFgICCQ9kFgICAQ9kFgICAQ9kFgICAQ8QZGQWAGQYAQU2Y3RsMDAkRm9ybXVsYXJpb0NvbnRlbnRQbGFjZUhvbGRlciRFc3RhZG9UZWxhTXVsdGlWaWV3Dw9kZmT14eU493cBliuPCSv6TJQbGDKjrA=='
                  ,'__VIEWSTATEGENERATOR':'7C9DFC57'
                  ,'ctl00$FormularioContentPlaceHolder$UsuarioTextBox':"@@@@@"
                  ,"ctl00$FormularioContentPlaceHolder$SenhaTextBox":"@@@@@"
                  ,'ctl00$FormularioContentPlaceHolder$EntrarButton':'Entrar'}

requestheaders = {
    'Accept'                    : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Encoding'           : 'gzip,deflate',
    'Accept-Language'           : 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4',
    'Cache-Control'             : 'max-age=0',
    'Proxy-Connection'          : 'keep-alive',
    'Content-Type'              : 'application/x-www-form-urlencoded',
    'Host'                      : 'www4.uva.br',
    'Origin'                    : 'http://www4.uva.br',
    'Cookie'                    : '',
    'Pragma'                    : 'no-cache',
    'Referer'                   : 'https://web.iress.com.au/html/LogonForm.aspx',   
    'User-Agent'                : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,  like Gecko) Chrome/##ADRESSS AS ABOVE## Safari/537.36'

    }

with session() as sesh:

    LOGINURL = 'http://www4.uva.br/UniversusNet/Seguro/Login.aspx?ReturnUrl=%2fUniversusNet%2fNotasFaltasTotais.aspx'
    sesh.get(LOGINURL,proxies={"http":"xxxxxxx:xxxx"},auth=("xxxxxxx","xxxxxxxx")) #Get request to get the session ID cookie
##    sessionID = sesh.cookies['ASP.NET_SessionId'] #Grab session ID value
##    sessionIDname = 'ASP.NET_SessionId='
##    sessionIDheader = str(sessionIDname + sessionID) #Prepare session ID header
##    requestheaders['Cookie'] = sessionIDheader # Add session ID header to requestheaders dictionary


    response = sesh.post('http://www4.uva.br/UniversusNet/Seguro/Login.aspx?ReturnUrl=%2fUniversusNet%2fNotasFaltasTotais.aspx', data=payload,  headers=requestheaders)

    print(response.headers)
    print(response.content)

Tags: bridhttpsessionlogin成绩uvaaspx