5

検索のため、GET、POST、PUT などのリクエストを別の URI に呼び出す必要がありますが、ピラミッドで内部的にそれを行う方法が見つかりません。現時点でそれを行う方法はありますか?

4

3 に答える 3

9

他の Web サーバーを呼び出すには、既存の Python ライブラリを使用するだけです。

Python 2.x では を使用urllib2し、Python 3.x ではurllib.request代わりに使用します。または、インストールすることもできますrequests

自分でリクエストを処理しているときにサーバーから外部サイトを呼び出すと、訪問者が応答を停止したサードパーティの Web サーバーを待つことになる可能性があることに注意してください。適切なタイムアウトを設定してください。

于 2012-07-28T15:59:17.810 に答える
6

ピラミッドは、バージョン 1.2 のクライアント API を持つ webob を使用します。

from webob import Request
r = Request.blank("http://google.com")
response = r.send()

通常、リクエストに対してオーバーライドしたいものはすべて、パラメーターとして渡すだけです。

from webob import Request
r = Request.blank("http://facebook.com",method="DELETE")

もう 1 つの便利な機能は、ネットワーク上で渡される http としてリクエストを確認できることです。

print r

DELETE  HTTP/1.0
Host: facebook.com:80

ドキュメント

于 2012-07-28T22:53:49.107 に答える
1

また、応答ステータス コードを確認します: response.status_int たとえば、内部 URI をイントロスペクトし、特定の相対 URI がフレームワークによって実際に提供されているかどうかを確認するために使用します (ブレッドクラムを生成し、存在する場合にのみ中間パスをリンクとして作成する例)。後ろのページです)

于 2012-11-02T20:12:45.003 に答える