我已经用谷歌搜索这个问题一个星期了。 我想要实现的目标如下:
向包含正确凭据的 URL 发送 POST 请求。 保存 session (不是 cookie,因为我的网站目前没有使用 cookie) 使用保存的 session 打开一个受 session 保护的 URL 并获取内容。
我已经看到很多关于 cookie 而不是 session 的主题,我尝试了请求 session 但似乎每次都失败。
最佳答案
您想使用 URL opener .这是我如何设法做到这一点的示例。如果您只想要默认的开启器,请使用 opener=urllib.request.build_opener()
,否则使用自定义的开启器。当我必须登录网站并保持 session 时,此方法有效,使用 URL
作为您的 URL,user
作为用户,password
作为密码,全部适当更改。
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(http.cookiejar.CookieJar()))
pData=urllib.parse.urlencode({"identity":user,"password":password})
req=urllib.request.Request(URL,pData.encode('utf-8'))
opener.open(req)
req=urllib.request.Request(url)
response= opener.open(req)
关于Python登录网页获取session保护页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20080469/