Python登录网页并获取会话保护页面的内容

时间:2013-11-19 19:35:01

标签: python session web login request

我一直在谷歌搜索这个问题一个星期了。 我想要实现的目标如下:

向URL发送POST请求,包括正确的凭据。 保存会话(不是cookie,因为我的网站目前没有使用cookie) 使用保存的会话打开会话保护的URL并获取内容。

我已经看到很多关于cookie的主题,但没有关于会话,我尝试了会话请求,但似乎每次都失败。

1 个答案:

答案 0 :(得分:2)

您想使用URL opener。以下是我如何成功完成的示例。如果您只想要一个默认的开启者,请使用opener=urllib.request.build_opener(),否则使用自定义开启者。当我必须使用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)