使用urllib和ss登录HTTPS网站

2024-10-04 03:20:22 发布

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

我正在尝试访问我uni的门户网站(使用https的站点)并通过python获取一些数据。在

但在最后一行总是出错。在

这是我访问网站和登录的代码。谁能解释一下我应该检查和调试什么吗?在

import urllib
import ssl

opener = urllib.request.build_opener(urllib.request.HTTPSHandler(context=ssl.SSLContext(ssl.PROTOCOL_TLSv1)))
urllib.request.install_opener(opener)

loginUrl1 = 'https://www.kau.ac.kr/page/login.jsp?ppage=&target_page=act_Portal_Check.jsp@chk1-1'
reqGetCookie = urllib.request.Request(loginUrl1)
respGetCookie = urllib.request.urlopen(reqGetCookie)
cookie = (respGetCookie.headers.get("Set-Cookie")).split('; ')[0]

loginUrl2 = 'Login authenticating page'
login_info={
    'p_id' : "ID",
    'p_pwd' : "Password"
}
loginForm1 = urllib.parse.urlencode(login_info)
loginForm = urllib.parse.parse_qs(loginForm1)
loginHeader = {
    "Host" : "www.kau.ac.kr",
    "Connection" : "keep-alive",
    "Content-Length" : 138,
    "Cache-Control" : "max-age=0",
    "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    "Content-Type" : "application/x-www-form-urlencoded",
    "Referer" : "https://www.kau.ac.kr/page/login.jsp?ppage=&target_page=act_Portal_Check.jsp@chk1-1",
    "Accept-Encoding" : "gzip, deflate",
    "Accept-Language" : "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4",
    "Cookie" : cookie
}
reqLogin = urllib.request.Request(loginUrl2, loginForm, headers = loginHeader)
respLogin = urllib.request.urlopen(reqLogin)

错误就在这里:

^{pr2}$

Tags: httpssslapplicationparserequestwwwpagelogin