我一直在谷歌搜索这个问题一个星期了。 我想要实现的目标如下:
向URL发送POST请求,包括正确的凭据。 保存会话(不是cookie,因为我的网站目前没有使用cookie) 使用保存的会话打开会话保护的URL并获取内容。
我已经看到很多关于cookie的主题,但没有关于会话,我尝试了会话请求,但似乎每次都失败。
答案 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)