問題タブ [webob]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ミドルウェア内のリクエストとフラスコリクエストから副作用なしでwsgiパラメータにアクセスするにはどうすればよいですか?
フラスコアプリをロードする前に、wsgiリクエストからいくつかの値を読み取る必要があります。wsgiリクエストからURLを読み取ると、フラスコアプリが読み込まれると(ミドルウェアの実行後)、問題なくファイルにアクセスできます。
しかし、パラメータにアクセスしようとすると、フラスコアプリが読み込まれると投稿データが削除されるようです。この「一度だけ読む」問題を防ぐために、wsgiリクエストを特別なWebobリクエストでラップするという極端なこともしました。
ミドルウェアでwsgiリクエストの値にアクセスする方法を知っている人はいますか?リクエストに副作用を与えることなく、フラスコアプリで投稿データ/ファイルデータを取得できますか?
これが私のフラスコビューです
python - Pythonでブロックスタックのアンダーフローを引き起こす原因は何ですか?
アプリケーションコンテキスト
「唯一の」WebObを使用して実験的なWebフレームワークを開発しています。同時リクエストを処理しており、基本的にはWebObの非常に単純な統合です。私たちはwebfaction.comでアプリケーションをホストしています
重要なのは、ログに次の致命的なPythonエラーが表示されることです。
他のトレースバックや情報はありません。アプリケーションがクラッシュします(数分後に自動的に再起動します)。開発においてそのような問題が発生したことは一度もありません。
編集:チェックしましたが、Pythonアプリケーションのメモリが多すぎます。関連する問題である可能性があります
私が試したこと
アクセスログを相互参照しようとすると、そのアクセス時間に対応するものが何もないということです。
私が言ったように、エラーに関するトレースバックや情報はありません。
それで、私は最初にPythonのブロックスタックアンダーフローとは何かを検索し、この非常に興味深い記事を見つけました:http : //tech.blog.aknin.name/2010/07/22/pythons-innards-interpreter-stacks/ブロックスタックアンダーフローとは何ですか。
編集:私はまた、すべての.pycを削除し、サーバーを再起動しようとしました。結果がありません
質問
だから、ここに私の質問があります:コンパイラでブロックスタックのアンダーフローを引き起こす可能性があるのは何ですか?どの「タイプ」のコードがこれを引き起こす可能性がありますか?
python - PythonのwebobでHttpRedirectionまたはHttpFoundで辞書を渡すことはできますか?
リダイレクトされた URL でこの辞書を使用できるように、辞書を HttpRedirect または HttpFound メソッドに渡そうとしています。
URL接続にはルートモジュールを使用し、Httpsにはcherrypyとwebobを使用しています。
私はこのようにしたい return HttpRedirect(location=location, mydict)
ここで、HttpRedirect は webob の HttpFound を拡張します
python - PythonのwebobでHttpRedirectまたはHttpFoundで投稿変数を送信する方法は?
アプリケーションでリダイレクトを行っているときに、いくつかの変数をポストに送信したいと考えています。
シナリオはこんな感じ
#
post_variableを送信したい
- リダイレクト中に投稿リクエストとしてクエリ文字列の代わりに投稿で変数を送信したい。
使用したツールとソフトウェア:-
- python、webob、ルート
django - そのような場合、ホストヘッダーポイズニングは可能ですか?
Djangoチームは、ホストヘッダーポイズニング(CVE-2011-4139およびCVE-2012-4520)を、フレームワークレベルで解決する必要のあるセキュリティ問題と見なしています。たとえば、Pyramid(つまり、基盤となる低レベルのリクエストラッパーであるwebob)は、これを問題とは見なしません。
本番および開発マシンでは、ヘッダーに完全なガベージが含まれていSERVER_NAME
ても正しく通過するように見えるnginxがあり、一致するものがない場合は444応答なしで応答します。Host
server_name
質問:絶対URLを作成するためHost
に使用する場合、このような場合のヘッダーポイズニングについて心配する必要がありますか?SERVER_NAME
python - webob からの Unicode デコード エラーをグローバルに処理する
webob を使用してフォーム データにアクセスする WSGI の上に記述された大規模な Web システムがあります (フレームワークは関係ありません)。ランダムに、ブラウザ (またはボット) から UnicodeDecodeError の未処理の例外が発生し、クエリ文字列または POST データでデコードできないエスケープ シーケンスが送信されます。未処理の例外メールを受け取ることを伴わない、適切な既定の動作を探しています。
私の最初のアイデアは、400 を返す (またはデコードできないデータを削除する) 例外ハンドラーを使用して webob 要求オブジェクトのパラメーターにアクセスするサイト全体のミドルウェアを作成することです。
他のシステム/フレームワークはこれをどのように処理しますか?
python - Pythonで角括弧を含むPOSTデータを解析しますか?
アドレスのリストを含むフォームを処理する必要がある Python webapp (Google AppEngine で webob を使用) を作成しています。
簡単にするために、フォームに次の入力が含まれているとしましょう。
ここで、Rails\PHP はこれを解析して、リスト [1,2,3,4] を含む単一の「アドレス」値にします。Pythonでこれを行う簡単な方法はありますか?
python - リクエストモジュールのバージョンを無視するGAE開発サーバー?
app.yaml のライブラリ セクションに次のエントリがあります。
次のコードを実行すると
手に入れ/usr/local/google_appengine/lib/webob-1.1.1/webob/__init__.py
ても/usr/local/google_appengine/lib/webob-1.2.3/webob/__init__.py
すぐに手に入ります。
さらに、コードを少し掘り下げると、要求されたライブラリのバージョンは、Django 以外のすべてに対して無視されるようです。
これが本来あるべき姿ですか?実際にリクエストバージョンをインポートするべきではありませんか?
これは 1.8.3 dev サーバーの場合です。
google-app-engine - self.response.write の DeadlineExceededError
応答への書き込み時にランダムな DeadlineExceededError 例外に直面しています。ここに私のハンドラがあります:
ログには次のように記載されています。
ランダムな問題なので、どこを調べればいいのかわかりません。助けてください :)
python - Google App Engine: Python: WebOb: POST データを JSON 形式で取得するには?
WebOb を使用する webapp2 を使用する Google App Engine プラットフォームで Web アプリを構築しています。POST
入れ子になった配列や辞書を含む、JSON 形式のデータが必要です。例えば:
ただし、サーバー側では、データは、私が編集した元のネストされた JSON オブジェクトのようなものではなく、フラットな「MultiDict」オブジェクトとして取得されますPOST
。例えば:
このオブジェクトは解析が非常に困難です。私のサーバーコードでは、データを簡単に操作して調べることができるように、サーバー上で同じデータを標準の JSON 形式、または少なくともネストされた辞書と配列を使用して同等の Python 形式で取得する方法はありますか?