Python 如何使用cookies和用户代理登录网页?

Python 如何使用cookies和用户代理登录网页?,python,cookies,login,download,user-agent,Python,Cookies,Login,Download,User Agent,我正在尝试登录到某个服务器,并通过编程从那里下载图片。我知道登录,我能够得到哪些变量是用户名和密码。我也能够下载图片,不需要密码,这个代码 网页一直告诉我我的用户代理不受支持,所以我假设我设置的用户代理不正确 它需要cookies和用户代理。我知道如何使用cookie登录页面,但我不知道如何在Python中将用户代理参数添加到HTTP请求中(并检查是否正确添加了该参数) 我正在构建标准的url开启器。我正在使用以下代码: def login(_url, _name, _password):

我正在尝试登录到某个服务器,并通过编程从那里下载图片。我知道登录,我能够得到哪些变量是用户名和密码。我也能够下载图片,不需要密码,这个代码

网页一直告诉我我的用户代理不受支持,所以我假设我设置的用户代理不正确

它需要cookies和用户代理。我知道如何使用cookie登录页面,但我不知道如何在Python中将用户代理参数添加到HTTP请求中(并检查是否正确添加了该参数)

我正在构建标准的url开启器。我正在使用以下代码:

def login(_url, _name, _password):
    if 1:
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
        opener.addheaders = {("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0")}
        urllib2.install_opener(opener)
        #
        # login parameters
        # PRE:
        #     1] addons.mozilla.org/en-US/firefox/addon/live-http-headers/
        #    2] _url is first line, sometimes it ends with do-submit, php...
        #    3] _name and _password is content
        # SOURCE:
        # http://www.oooff.com/php-scripts/basic-curl-form-filling-tutorial/php-newbie-form-fill-tutorial.php
        #
    else:
        #
        # i tried even mechanize
        # but I do not know how to set it either
        #
        cookies = mechanize.CookieJar()
        opener = mechanize.build_opener(mechanize.HTTPCookieProcessor(cookies))

    params = urllib.urlencode(dict(login=_name, password=_password))
    f = opener.open(_url, params)
    data = f.read()
    f.close()
    return opener
我试着把粘接剂移到不同的地方,但没用。也许它可以通过机械化来实现,但我不确定如何实现


谢谢你的帮助。:)

python文档页面有这种格式,用于使用方括号构建开场白。您将它作为{(…)}传递


PythonDocs页面具有这种格式,用于使用方括号构建开场白。您将它作为{(…)}传递

import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')