1

Python用のAPIライブラリを見るときはいつでも、それらの約半分が単に以下を使用しているようです。

response = urllib2.urlopen('https://www.example.com/api', data)

そして約半分を使用して:

connection = httplib.HTTPSConnection('www.example.com/api')
# ... rest omitted for simplicity

私は2番目のバージョンが「より涼しい」と思う傾向があります(私はほとんどのものに対してよりOOのアプローチに偏っています)。

どちらか一方を使用することには利点や理由がありますか。または、途中で何かが足りないのでしょうか。私はそれがその実装でurllib2.urlopen使用HTTPSConnectionされているのではないかと思うので、おそらく1つは私に代わってコーディングが少ないだけです。いずれにせよ、私はいくつかのフィードバックが欲しいです。ありがとう。

4

1 に答える 1

4

はい、その実装で(またはプロトコルに適したあらゆる種類の接続)を使用しますurllib2HTTPSConnectionこれは基本的に、人々が行う最も一般的なことを行うための単なるショートカットですhttplib

urllib2また、リダイレクトや認証要求などを処理するためのコードもいくつかあります。プレーンで実行している場合は、すべて手動でコーディングする必要がありますhttplib

編集:マイケルのコメントに応えて、オブジェクトとデータについて疑問に思っていた場合...それはあなたがそれをどうするかによって異なります。接続オブジェクトが必要な場合(たとえば、それを使って何か特別なことをする場合、おそらくキープアライブ接続)、必ず先に進んで、そのhttplib方法を使用して接続オブジェクトを返します。ただし、データを取得しようとしているだけの場合は、データを取得して返すだけです。OOPが好きなら、Pythonのすべてが技術的にはオブジェクトであることを知っておいてください。取得するurllib2.urlopenのはファイルのようなオブジェクトで、その値を文字列オブジェクトまたは行のリスト(文字列オブジェクト)として取得するメソッドがあります。httplibほとんどのPythonプログラマーは、後者の場合に使用するのは無駄だと考えるでしょう。

于 2010-06-24T17:41:03.240 に答える