よくある質問

ドキュメントのこの章は、Requestsに関する一般的な質問に答えます。

データはエンコードされますか?

Requestsは自動的にgzipエンコードされたレスポンスを解凍します。 そして、可能ならユニコード化するためにレスポンスの本文をデコードします。

必要なら、生のレスポンス(とソケット)に直接アクセスすることができます。

ユーザーエージェントをカスタマイズできますか?

Requestsは他のHTTPヘッダーと同様に、ユーザーエージェントの文字列を簡単に上書きすることができます。

なぜHttplib2ではないのですか?

Chris Adamsさんは、 Hacker News で、すばらしい見解を述べています。

httplib2はRequestsをなぜ使うべきかという理由の一部でしかありません。 クライアントとしてはとても立派ですがドキュメント化があまりされていません。 そして、基本的な操作をするためにたくさんのコードを書く必要があります。 httplib2がやろうとしていることに感謝していますが、モダンなHTTPクライアントを作成するために低レベルの部分で不満がたくさんあるので、 実際はhttplib2の代わりにRequestsを使っています。 Kenneth Reitzはモチベーションが高く、本番環境のシステム[1]を作るために使うものよりはhttplib2は学校の勉強のような感じがするので、 簡単なことは簡単にできるようにしようとしています。

ディスクロージャー: RequestsのAUTHORSファイルにリストされていますが、クレジットにクレームを付けることができます。

1. http://code.google.com/p/httplib2/issues/detail?id=96は良い例です。: たくさんの人に影響のある迷惑なバグは、そのバグによって数テラバイトものデータを解析してフォークしてそれを適用した時に数ヶ月も解決するために作業しなければいけなくなりますが、 キチンと動くバージョンの”httplib2”が必要となる他のプロジェクトでtrunkにそれを作るために一年かけて引き継いで、PyPIでそれをつくるために長い期間がかかります。

Python 3をサポートしていますか?

はい! 公式にサポートしているPythonプラットフォームのリストは以下のとおりです。

  • Python 2.6
  • Python 2.7
  • Python 3.1
  • Python 3.2
  • Python 3.3
  • PyPy 1.9