56

いつ誰かがhttplibを使用し、いつurllibを使用しますか?

違いは何ですか?

urllibはhttplibを使用する準備ができていると思います。httpリクエストを作成する必要があるアプリを作成する予定です。これまでのところ、リクエストにはPythonでhttplib.HTTPConnectionのみを使用し、urllibについて読むと、リクエストにも使用できることがわかります。では、どちらのメリットは何ですか?

4

6 に答える 6

46

urllib(特にurllib2)は、デフォルトで多くのことを処理するか、そうするための適切なライブラリを持っています。たとえば、urllib2はリダイレクトを自動的に追跡し、cookiejarを使用してログインスクリプトを処理できます。これらはすべて、httplibを使用している場合に自分でコーディングする必要があるものです。

于 2010-07-22T02:00:58.197 に答える
18

urllib、、、urllib2についてお話したいと思いhttplibますhttplib2

urllib*との主な違いhttplib*は次のとおりです。

httplibとhttplib2は、HTTP / HTTPSの要求と応答を直接処理し、独自の仕事をするためのより多くのスペースを提供します。

urllibとurllib2はhttplibに基づいて構築されており、より抽象的で強力ですが、一部のHTTP関連の操作に関する指定されたニーズを満たさない場合があります。

そして、のためhttplibhttplib2、私はそれらが両方ともであると言うでしょうHTTP client library。ただしhttplib2、よりもはるかに強力で、はるかに多くの機能を備えていますhttplib

urllibとについては、このリンクurllib2から引用してください:

urllibとurllib2はどちらもPythonモジュールであり、URLリクエスト関連のものを実行しますが、異なる機能を提供します。それらの2つの最も重要な違いを以下に示します。

  • urllib2はRequestオブジェクトを受け入れてURLリクエストのヘッダーを設定できますが、urllibはURLのみを受け入れます。つまり、ユーザーエージェントの文字列などを偽装することはできません。
  • urllibは、GETクエリ文字列の生成に使用されるurlencodeメソッドを提供しますが、urllib2にはそのような関数はありません。これが、urllibがurllib2と一緒に使用されることが多い理由の1つです。

私の個人ブログHttplibHttplib2UrllibUrllib2-違いは何ですか

それが役に立てば幸い:-)

于 2013-11-14T09:10:17.030 に答える
10

urllib / urllib2は、httplibの上に構築されています。httplibに直接書き込むよりも多くの機能を提供します。

ただし、httplibを使用すると、基盤となる接続をより細かく制御できます。

于 2010-07-22T03:06:10.507 に答える
6

http / httpsのみを扱っていて、HTTP固有のものにアクセスする必要がある場合は、httplibを使用してください。

他のすべての場合は、urllib2を使用します。

于 2010-07-22T02:22:20.817 に答える
5

キャッシング、キープアライブ、圧縮、認証などの高レベルのものが必要な場合は、httplib2

于 2010-07-22T06:20:40.473 に答える
1

物事をPy3に移行する人々にとって(そして何らかの理由で素晴らしいリクエストモジュールを使用するためにリファクタリングできないか、リファクタリングしていない)、これはバージョン間の良い移行です:

try:
    import http.client as httplib
except ImportError:
    import httplib

両方のPythonバージョンセットで動作します。

于 2015-11-20T13:50:57.680 に答える