4

urlfetchpython libに対するGoogleの違いは何urllib2ですか?

私がグーグルに出くわしたとき、私はurlfetch多分セキュリティ上の理由があると思いました。おそらくGoogleは悪意のあるURLか何かの点でより安全ですか?

urlfetchグーグル以上を選ぶべき理由はありますurllib2か?

4

4 に答える 4

9

GAE urllibでは、urllib2とhttplibはUrlFetchの単なるラッパーであることに注意してください(PythonでのURLのフェッチを参照)。

urlfetchモジュールの違いの1つは、非同期リクエストを行うためのインターフェースを提供することです。

于 2012-10-19T18:01:23.077 に答える
5

私はGoogleで働いていないので、これは私が読んださまざまなGAEの投稿からの推測にすぎません。App Engineインスタンスはインターネットに直接接続されていませんが、Googleインフラストラクチャのレイヤーの背後に埋め込まれています。ブラウザがHTTPリクエストを行うと、インスタンスに直接送信されるのではなく、Googleエッジサーバーにヒットし、最終的にリクエストをGAEインスタンスにルーティングします。

同様に、HTTPリクエストを送信する場合、インスタンスはソケットを開くだけでなく(urllib2が通常実行します)、HTTPリクエストを送信する他のGoogleエッジサーバーにHTTPリクエストを送信します。GAEでurllib2を使用すると、urlfetch上で実行されるGAE固有のバージョンが使用されます。

于 2012-10-19T14:28:14.413 に答える
0

AppEngineで標準ライブラリを使用しても問題はありません。Url Fetch Apiは、HTTPリクエストをurlib2よりも「簡単に」作成するための単なるサービスです。Pythonの初心者にとっては不安定であり、たとえばノンブロッキングリクエストを簡単に使用できます。

ここでいくつかの補足情報を読むことをお勧めします:https ://developers.google.com/appengine/docs/python/urlfetch/overview

GoogleがPython標準ライブラリでセキュリティの問題を発見した場合。私はそれが修正を送ると思います;)

于 2012-10-19T11:09:46.937 に答える
-3

違いは次のとおりです。urlfetchには機能インターフェイスのみがあり、urllibとhttplibにはOOインターフェイスがあります。オブジェクト指向インターフェースは非常に便利です。oauth2クライアントライブラリで良い例を見てきました。ここでは、リクエストインスタンスがクライアントライブラリに渡され、トークンが有効で承認されているかどうかが確認されます。

于 2012-10-19T15:49:41.230 に答える