私は、特定のサーバーにログインし、そこからプログラムでプログラムをダウンロードしようとしています。私はログインを知っていて、どの変数がユーザー名とパスワードであるかを知ることができました。私もこのコードでパスワードを必要としない写真をダウンロードすることができました。クッキーとユーザーエージェントを使ってWebページにログインするには?
ウェブページは私のユーザエージェントがサポートされていないと言い続けているので、ユーザエージェントを間違って設定していると思います。
クッキーとユーザーエージェントが必要です。私はクッキーを使ってページにログインする方法を知っていますが、PythonでHTTPリクエストにUser-agentパラメータを追加する方法(そして正しく追加されているかどうかを確認する方法)はわかりません。
標準の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
私は場所をdifferendするadheadersを移動しようとしたが、それは助けにはなりませんでした。たぶんそれは機械化で行うことができますが、私はどのようにして分かりません。
ありがとうございました。 :)