Requests: 人間のためのHTTP¶
リリース v1.0.4. (Installation)
Requestsは、人が使いやすいように設計されていて、Pythonで書かれている Apache2 Licensed ベースのHTTPライブラリです。
Pythonの標準の urllib2 モジュールは、必要とされるほとんどのHTTPの機能を備えていますが、APIがまともに 使えません 。 様々なウェブ用途に合わせて作られていて、何回も修正されてきました。 簡単なことを行う(メソッドの上書きでさえ)のに、 かなり の量の作業が必要になります。
それはPython的ではないので、そんなに複雑にするべきではありません。
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
Requestsを使わずに同じ事をするためのコード を見て下さい。
Requestsは、ウェブサービスとシームレスに統合されたPythonのHTTP/1.1の処理の全てを受け持ちます。 URLに手動でクエリを入力したり、POSTデータをエンコードしたりする必要はありません。 Keep-aliveやHTTP接続のプーリングは、Requestsに urllib3 が組み込まれているので、100%自動で行われます。
推薦文¶
Amazon、Google、Twilio, Mozilla, Heroku, PayPal, NPR, Obama for America, Transifex, Native Instruments, The Washington Post, Twitter, SoundCloud、Kippt、Readability、Federal US Institutions は内部でRequestsを使っています。PyPIから1,500,000回以上インストールされました。
- Armin Ronacher
- Requestsは、どのようにして綺麗なAPIを正しく抽象化できるかの完璧な例です。
- Matt DeBoard
- @kennethreitz さんのPythonのRequestsモジュールのタトゥーを何とかして体に入れたい。以上。
- Daniel Greenfeld
- 1200行のスパゲッティーコードのライブラリを数10行くらいのコードにしてくれた@kennethreitzのリクエストライブラリに感謝しています。 すばらしくなりました。
- Kenny Meyers
- PythonのHTTPの実装: 使うか迷ったときも、そうでない時も、Requestsを使います。綺麗な設計で、シンプルで、Pythonicだ。
サポートする機能¶
Requestsは、今日(こんにち)のウェブに欠かせない機能を持っています。
- ドメインとURLの国際化
- Keep-Aliveとコネクションプーリング
- Cookieによるセッションの永続化
- ブラウザのようなSSLによる接続
- ベーシック/ダイジェスト認証
- エレガントなキー/バリューによるCookie
- 圧縮の自動的な展開
- レスポンスの本文のユニコード化
- マルチパートファイルのアップロード
- コネクションのタイムアウト
.netrc
のサポート- Python 2.6-3.3に対応
- スレッドセーフ
ユーザーガイド¶
ドキュメントのこの章は、Requestsに関するいくつかのバックグラウンドを紹介します。 それから、Requestsを最大限に使うための説明をステップ・バイ・ステップで紹介することにフォーカスしています。
APIドキュメント¶
特定の関数やクラスやメソッドの情報を探している場合は、ドキュメントのこの章を見て下さい。