【问题标题】:Python session, cookies, and the webPython 会话、cookie 和网络
【发布时间】:2012-06-24 03:07:08
【问题描述】:

** 编辑 经过短暂的思考,我只是想我根本不需要使用机械化 但我不知道我应该使用哪个 Python 库来与/ cookie 和会话数据, 有人可以提示我吗? **

我想执行一个简单的登录并使用某些站点的凭据(以及 cookie、会话数据)。

我使用 mechanize 来执行基本的表单使用,因为表单是使用 Javascript 构建的

import cookielib
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)


br.set_debug_http(True)
br.set_debug_redirects(True)
br.set_debug_responses(True)

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

parameters = { 'username' : 'w00t',
               'password' : 't00w'
            }
data = urllib.urlencode(parameters)
resp = br.open(url,data)

但是由于某种原因,我似乎无法从服务器获得任何积极响应,我没有看到任何迹象(用于重定向到所需页面),我也不知道一旦我拥有 cookie 和如何继续session 以实际继续使用这些 cookie 和 session 数据

我想知道是否有人可以提示我或让我参考正确的文档,因为我发现的内容似乎无法解决我的问题

【问题讨论】:

    标签: python forms session cookies mechanize


    【解决方案1】:

    我以前在 Python 中使用过 Requests 库 (http://docs.python-requests.org/en/latest/index.html) 来处理这类事情。我发现它非常直接并且有很好的文档。这是一个在请求中包含 cookie 的示例:

    >>> url = 'http://httpbin.org/cookies'
    >>> cookies = dict(cookies_are='working')
    
    >>> r = requests.get(url, cookies=cookies)
    >>> r.text
    '{"cookies": {"cookies_are": "working"}}'
    

    我使用过 Mechanize,如果我记得,它会为您跟踪 cookie。相反,此库将要求您根据请求不断地重新发布 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 2021-04-28
      相关资源
      最近更新 更多