[解決済み] Flaskのリクエストで受信したデータを取得する
2022-03-21 09:32:27
質問
Flaskアプリに送信されたデータを取得できるようにしたい。私は
request.data
が、空文字列になってしまいます。リクエストデータにはどのようにアクセスするのですか?
from flask import request
@app.route('/', methods=['GET', 'POST'])
def parse_request():
data = request.data # data is empty
# need posted data here
この質問に対する回答がきっかけで Python Flask で Content-Type ヘッダに関係なく生の POST ボディを取得する 次は、パースされたデータではなく、生のデータを取得することについてです。
どうやって解決するの?
その
ドキュメント
で利用可能な属性について説明します。
request
オブジェクト(
from flask import request
) をリクエストすることができます。最も一般的なケースで
request.data
は、フォールバックとして使用されるため、空になります。
request.data
Flask が扱えない mimetype を持つリクエストデータを文字列として格納します。
-
request.args
: URL のクエリー文字列のキーと値のペア -
request.form
: HTMLの投稿フォーム、またはJSONエンコードされていないJavaScriptのリクエストから、ボディにあるキーと値のペアを指定します。 -
request.files
とは別に、Flask が保管するボディ内のファイルです。form
. HTML フォームではenctype=multipart/form-data
を指定しないと、ファイルがアップロードされません。 -
request.values
: 複合args
とform
を好む。args
キーが重なっている場合 -
request.json
: パースされたJSONデータです。リクエストにはapplication/json
コンテンツタイプ、またはrequest.get_json(force=True)
を使用すると、コンテンツ・タイプを無視することができます。
これらはすべて
MultiDict
インスタンス(ただし
json
). を使って値にアクセスすることができます。
-
request.form['name']
キーが存在することが分かっている場合は、インデックスを使用します。 -
request.form.get('name')
を使用します。get
キーが存在しない可能性がある場合 -
request.form.getlist('name')
使用getlist
キーが複数回送信され、値のリストが必要な場合。get
は最初の値しか返しません。
関連
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] Flaskの開発サーバーをネットワーク上で見えるように設定する
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み] Python Flask で Content-Type ヘッダに関係なく生の POST ボディを取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み] Flask - Bad Request ブラウザ(またはプロキシ)は、このサーバーが理解できないリクエストを送信しました [重複]。
-
[解決済み] PythonとFlaskを使ってリクエスト変数の値を取得する方法【重複あり