如何使用Python登录到网页和检索cookie以备后用?

我想使用python下载和解析网页,但要访问它,我需要一些饼干设置。 所以我需要先通过https登录到网页。 登录时刻包括发送两个POST PARAMS(用户名,密码)到/login.php。 在登录请求期间,我想从响应头中检索cookie并将它们存储起来,以便我可以在请求中使用它们来下载网页/data.php。

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

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() 

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

这是一个使用优秀的请求库的版本:

 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)