こんにちは私は自分のプログラム(Python v2.6)のために長いURLの一連の画像(例:site.com/pic.jpg
)を取得しています。私はurllib.urlretreive()
を使用しています。場合によっては、ユーザー名とパスワードを要求するURLが表示されることがあります。だから私はurllib.urlretreive()
をtry/exceptに置いてそれらのURLを避けるが、try/exceptを飛ばしてそのURLをスキップするエラーを催促するために偽のユーザー名とパスワードを挿入する必要がある。パスワード要求があり、自動的にURLをスキップするときに私が感知できる方法はありますか?これは非常に長いリストで、私はここで時折入力を待つことを望んでいません...ありがとうpythonでurllibを使用しているときにパスワードで保護されたサイトを検出しました
2
A
答えて
2
サイトにHTTP認証がある場合は、リクエストにヘッダーを追加する必要がありますパスワード(偽またはその他)。 urllib2
を使用してこれを行う方法は次のとおりです。
import base64
import urllib2
headers = {'Authorization': 'Basic ' + base64.encodestring('[username]:[password]')}
req = urllib2.Request(url, data, headers)
resp = urllib2.urlopen(req).read()
ユーザー名/パスワードが間違っている場合、これはurllib2.HTTPError: HTTP Error 401: Unauthorized
を返しますが、それが必要とされない場合、サーバーは、認証を無視します。
+0
'data'変数とは何ですか? –
+0
ああ、申し訳ありません、それはサーバーにPOSTするデータがあればそれです。何もない場合は、空の文字列を使用できます。 –
多くの場合、この情報はHTTPヘッダーから取得できます。 –