web-dev-qa-db-ja.com

PostmanでPOSTパラメーターを送信することはできませんが、GETパラメーターを送信することはできます

PHP拡張Postmanを使用して、単純なChromeページをテストしようとしています。 URLパラメーターを送信すると、スクリプトは正常に機能します(たとえば、変数は$_REQUESTパラメーターで使用可能です)。それらをx-www-form-urlencodedパラメーターとして送信すると、$_REQUESTパラメーターにはPHPSESSIDのみが含まれます。

スクリプト:

<?php
var_export($_REQUEST);
?>

URLパラメーターを送信すると、$_REQUESTに含まれます: URL parameters

しかし、それらをPOST変数として送信すると、$_REQUESTには含まれません: enter image description here

私は何が欠けていますか?

63
whiterook6

Postmanのurlをhttp://に設定していましたが、Apacheはhttps://にリダイレクトしており、途中でPOST変数が削除されていました。

https://に変更した後、POST変数は適切に機能しました。

参照: https://stackoverflow.com/a/28461500/7048

54
andrewtweber

PostManとAdvance REST Clientの両方で同じ問題に直面しました。フィドラーを調べたところ、リクエストペイロードがJSON形式に変換されていないことがわかりました。

Bodyにデータを渡す x-www-form-urlencoded enter image description here

を使用して修正できます コンテンツタイプ なので application/x-www-form-urlencoded 要求ヘッダー内。 enter image description here

76
Arvind Dhasmana

Body Tabを使用して、そこにpost parametersを入力するだけです。 Getが選択されている場合、Body Tabは無効になっていることに注意してください。

スクリーンショット付きチュートリアル

19
AndroidLearner

ヘッダーのコンテンツタイプを確認してください。 POSTMANヘッダーで生のJSONとcontent-typeをapplication/jsonとして送信すると問題が発生していました。

私のphpはリクエストポストにジャックをすべて表示していました。 RAWテキストエリアのJSONとそのタイプをJSONとしてcontent-typeをapplication/x-www-form-urlencodedに変更するまで、私のPHPアプリは投稿データを表示し始めませんでした。生のjsonを扱うときに期待していたものではなく、今は必要なもので動作しています。

postman POST request

12
mushcraft

編集

x-www-form-urlencodedでパラメーターを送信する場合、Content-Type as application/x-www-form-urlencodedを使用してリクエストのヘッダーを設定する必要があります

8
Satish Shinde

私は同じ問題を抱えていました。それを修正するために、次のヘッダーを追加しました。

Content-Type: application/json

生のポストフィールドパラメータに「json」のタイプが含まれていた場合でも、コンテンツタイプを手動で追加する必要がありました。

4
John O'Connor

これがスレッドネクロマンシーである場合は申し訳ありませんが、特にAPIの使用量に関連して、今日でもこれは関連しています。

私が抱えていた問題は、「Key」列の下に「Content-Type ';これはリクエストで戻ってきたときのユーザーキーだと思っていましたが、そうではありません。

ですから、Fiddlerの使用に関してはドキュメンテーションを読む必要さえなかったので、Postmanはそのコラムをより良くWordに書くことができると思います。一方、私は郵便配達員とやりました。

Postman picture

2
Lee

私にとって、サーバーはHTTPS要求を予期していましたが、URLでそれを指定しませんでした。フックはサーバーに到達しますが、本文は空になります。

0
user2229618

「Postman」のバージョンの問題:

私は同じ問題に直面しています。最も古いバージョンのpostmanを使用してデータを送信しているとき。
そのとき、サーバー側で空のJSONデータを受信しました。
そしてこの問題を修正しました、最も古いバージョンのpostmanをアンインストールし、最新バージョンでインストールしたら。

0
Mohammed Yasin