2017-07-06 13 views
0
cd /var/www/html/phplearn 

http投稿要求と応答については、curlコマンドを使ってgetメソッドを模倣する方法は?

vimのsend_local_post.php

<form action=http://127.0.0.1/phplearn/do_post.php method=post> 
user: <input type=text name=userName size=12/> 
key: <input type=text name=PS size=12/> 
<input type=submit value=login> 
</form> 

vimのコンソールでカールと

<?php 
$userName = $_POST["userName"]; 
$PS = $_POST["PS"]; 
echo "the name is: ".$userName."\n"; 
echo "key word is: ".$PS."\n"; 
?> 

レッツ・模倣POSTメソッドdo_post.php。

curl -X POST -d "userName=user&PS=key" 127.0.0.1/phplearn/do_post.php 

コンソールの出力は以下の通りです:HTTP GETリクエストとレスポンスのために

enter image description here

vimの

<?php 
$userName = $_GET["userName"]; 
$PS = $_GET["PS"]; 
echo "the name is: ".$userName."\n"; 
echo "key word is: ".$PS."\n"; 
?> 

do_get.php vimの

<form action=http://127.0.0.1/phplearn/do_get.php method=get> 
user: <input type=text name=userName size=12/> 
key: <input type=text name=PS size=12/> 
<input type=submit value=login> 
</form> 

send_local.get.phpはのはコンソールでカールしてgetメソッドを真似してみましょう。

curl http://127.0.0.1/phplearn/do_get.php?userName=user&PS=key 

コンソールの出力は以下の通りである:
enter image description here

キー値は、POSTメソッドとしてコンソールに表示することができないのはなぜ?

答えて

0

これはアンパサンドのためです。 bashがアンパサンドにヒットすると、バックグラウンド処理がトリガされ、残りのテキストは切り捨てられます。

これは、[1] 14975と表示される理由は、新しいプロセスを停止してバックグラウンドで実行しているためです。

は、この問題を解決するには、引用符でURLを囲む:

curl "http://127.0.0.1/phplearn/do_get.php?userName=user&PS=key" 
関連する問題