これらのうち、APIをリクエストする良い方法はどれですか?
質問
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
その実装では、おそらく私に代わってコーディングが少ないだけです。どちらにしても、フィードバックが大好きです。ありがとう。
解決
うん、 urllib2
使用します HTTPSConnection
(または、プロトコルに適切な接続の種類)の実装において。それは基本的に、人々がしている最も一般的なことをするための単なる近道です httplib
.
urllib2
また、リダイレクトや認証要求などを処理するためのコードもあります。 httplib
.
編集: :マイケルのコメントに応えて、もしあなたがオブジェクトとデータについて疑問に思っているなら...それはあなたがそれをどうするかによって異なります。接続オブジェクトが必要な場合(たとえば、特別なことをするために、おそらくキープライブ接続)、確かに、先に進んで使用してください httplib
方法と接続オブジェクトを返します。ただし、データを取得しようとしている場合は、データを取得して返すだけです。 OOPが好きなら、Pythonのすべてが技術的にオブジェクトであることを知ってください。あなたが得るもの urllib2.urlopen
文字列オブジェクトまたは行のリスト(文字列オブジェクト)としての値を取得する方法を備えたファイルのようなオブジェクトです。私はほとんどのPythonプログラマーがそれを使用する努力の無駄だと考えるだろうと思います httplib
後者の場合。