urllib、urllib2、urllib3、requests モジュールの違いは何ですか? 質問する

urllib、urllib2、urllib3、requests モジュールの違いは何ですか? 質問する

Pythonでは、urlliburllib2urllib3そしてrequestsモジュール?なぜ3つあるのですか?同じことを行うようですが...

ベストアンサー1

すでに言われていることは承知していますが、私はrequestsPython パッケージ。

Python 以外の言語を使用したことがある人なら、おそらくurlliburllib2使いやすく、コードも少なく、機能も豊富」と考えているでしょう。私もそう思っていました。しかし、このrequestsパッケージは信じられないほど便利で短いので、誰もが使用すべきです。

まず、完全に RESTful API をサポートしており、次のように簡単です。

import requests

resp = requests.get('http://www.mywebsite.com/user')
resp = requests.post('http://www.mywebsite.com/user')
resp = requests.put('http://www.mywebsite.com/user/put')
resp = requests.delete('http://www.mywebsite.com/user/delete')

GET / POST のいずれの場合でも、パラメータを再度エンコードする必要はなく、辞書を引数として受け取るだけで済みます。

userdata = {"firstname": "John", "lastname": "Doe", "password": "jdoe123"}
resp = requests.post('http://www.mywebsite.com/user', data=userdata)

さらに、JSON デコーダーも組み込まれています (繰り返しますが、json.loads()書くことはそれほど多くありませんが、これは確かに便利です)。

resp.json()

または、応答データがテキストのみの場合は、次のようにします。

resp.text

これは氷山の一角にすぎません。以下はリクエスト サイトからの機能のリストです。

  • 国際ドメインとURL
  • キープアライブと接続プール
  • Cookie の永続性を伴うセッション
  • ブラウザスタイルのSSL検証
  • ベーシック認証/ダイジェスト認証
  • エレガントなキー/値クッキー
  • 自動減圧
  • Unicode レスポンスボディ
  • マルチパートファイルのアップロード
  • 接続タイムアウト
  • .netrc サポート
  • リスト項目
  • Python 2.7、3.6〜3.9
  • スレッドセーフ。

おすすめ記事