6

Python では、いくつかの情報を返す URL にリクエストを送信したいと考えています。問題は、ブラウザから URL にアクセスしようとすると、ポップアップ ボックスが表示され、ユーザー名とパスワードを要求されることです。この URL のユーザー名とパスワードを持っていますが、Python にこれらのフィールドを自動的に入力させて URL にアクセスさせる方法がわかりません。

これは、401 エラーを返す私のコードです。

bing = "https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web?Query=%
(term)s&$top=50&$format=json" %__function()
results = urllib2.urlopen(bing).read()

編集: 明確にするために、関数は、URL でクエリされている用語であるfunctionという変数を返しますterm

4

1 に答える 1

10

ほとんどの場合、HTTP 基本認証に直面しています。これは urllib2 で実行できますが、少し面倒です。これを行う方法の手順は次のとおりです。

http://www.voidspace.org.uk/python/articles/urllib2.shtml#id5

しかし、まだ urllib2 で多くの作業を行っていない場合は、今が requests ライブラリに切り替える良い機会です。urllib2 の面倒な方法とは異なり、はるかにユーザー フレンドリーです。

requests.get('https://api.github.com/user', auth=('user', 'pass'))

リクエスト ライブラリを見つける方法の詳細: http://docs.python-requests.org/en/latest/user/quickstart/#basic-authentication

requests ライブラリをインストールするには、次のことを行うだけです。

sudo pip install requests

Windows を使用している場合は、そのsudo部分をドロップする必要があります。

于 2012-07-05T11:42:37.603 に答える