首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Python登录网页并检索cookies以供日后使用?

如何使用Python登录网页并检索cookies以供日后使用?
EN

Stack Overflow用户
提问于 2008-10-09 23:14:44
回答 2查看 174K关注 0票数 148

我想使用python下载和解析网页,但要访问它,我需要几个cookie集。因此,我需要首先通过https登录到该网页。登录时刻包括向/login.php发送两个POST参数(用户名、密码)。在登录请求期间,我希望从响应头中检索cookie并存储它们,以便在请求中使用它们来下载网页/data.php。

我如何在python (最好是2.6)中做到这一点?如果可能的话,我只想使用内置模块。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-09 23:24:40

代码语言:javascript
复制
import urllib, urllib2, cookielib

username = 'myuser'
password = 'mypassword'

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://www.example.com/login.php', login_data)
resp = opener.open('http://www.example.com/hiddenpage.php')
print resp.read()

cookie是您想要打开的页面的直接resp.read(),您可以使用opener查看使用会话cookie的任何页面。

票数 147
EN

Stack Overflow用户

发布于 2012-08-24 14:07:36

下面是一个使用优秀的requests库的版本:

代码语言:javascript
复制
from requests import session

payload = {
    'action': 'login',
    'username': USERNAME,
    'password': PASSWORD
}

with session() as c:
    c.post('http://example.com/login.php', data=payload)
    response = c.get('http://example.com/protected_page.php')
    print(response.headers)
    print(response.text)
票数 157
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/189555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档