2017-05-31 6 views
0

特に、PHPに日常的に送られる3種類の主要なデータを見ることに興味があり、$_GET$_POST、および$_COOKIEの配列で利用できます。HTTP:生のHTTPコンテンツを表示するにはどうすればよいですか?

私はHTTPに精通していませんが、フォーム(method=postまたはget)、URLクエリ文字列、またはCookieで送信されたデータは、HTTPヘッダーに入れられますサーバーに送信されます。 (私はそれがmethod=postの場合であるかどうかは完全にはわかりません)。これは、ほとんどの場合、プレーンテキストです。

質問:このHTTPコンテンツを生の形式で表示するにはどうすればよいですか。

私は主にプロセスの理解を深めることに興味があります。

+2

を使用すると、httpヘッダーを検査できます。 https://stackoverflow.com/questions/4423061/view-http-headers-in-google-chrome – ImAtWar

+0

いいえ、その情報はHTTPヘッダー内で送信されません。 GETデータは** URL **に、POSTデータはリクエスト** body **に格納されます。あなたのブラウザでF12を押すと、おそらく開発者用ツールが開かれます。 –

+0

@ImAtWar普及しているとは対照的に、Chromeは存在する唯一のブラウザではありません。 すべて最新のほとんどの主要なブラウザ(マイクロソフトを含む)にはこのようなツールが含まれています; -P –

答えて

0

HTTPヘッダで送信されますいくつかのPHP superglobalで終わるデータの唯一の部分はcookiesです。このようなCookieには、しばしばsessionsによって使用されるセッションIDが含まれます。 $_GETは、URLから移入されます:URLを介して、現在のスクリプトに渡された変数の

連想配列は

$_POSTは限り、POSTメソッドを使用してHTTP要求の要求本体から移入されますパラメータ

application/x-www-form-urlencodedまたはmultを使用すると、HTTP POSTメソッドを介して現在のスクリプトに渡される変数の連想配列が実装されているため、要求のHTTP Content-Typeとしてipart/form-dataを入力します。

どちらの場合でも、特定のガイドラインに従うと便利な便利な方法であることを理解する必要があります。このようにすべての生の情報を使用できるわけではありません。

生データを調べる方法として、すべてのまともなメジャーブラウザには、ネットワークペインの開発ツールが含まれています。このようなツールは、キーボードショートカットF12にマップされることがよくあります。 PHP側では、生のURLの一部をvar_dump($_SERVER['REQUEST_URI'])(この変数にはプロトコルのプレフィックス、ホスト名、またはポートは含まれません)で調べることができます。 var_dump(file_get_contents("php://input"))

0

試すことができます$requestBody = file_get_contents('php://input');私はこれがあなたを助けることができると思います。

0

すべての$ _GET、$ _ POSTおよび$ _COOKIEは配列であり、print_rを使用して生の形式でコンテンツを表示することもできます。

print_r($_GET); 
print_r($_POST); 
print_r($_COOKIE); 
関連する問題