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

對於http post請求和響應。如何編寫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 do_post.php

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

讓我們模擬的方法後,在控制檯捲曲。

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

在控制檯的輸出是如下:

enter image description here

對於HTTP GET請求和響應。

VIM send_local.get.php

<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> 

VIM do_get.php

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

讓我們模仿get方法與控制檯捲曲。

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

在控制檯的輸出是如下:
enter image description here

爲什麼不能顯示在控制檯上的鍵的值,如後方法?

回答

0

這是因爲&字符。當bash碰到&符時觸發一個後臺進程,並切斷剩餘的文本。

這也是爲什麼你看到[1] 14975,因爲它正在脫離一個新的過程,並在後臺運行它。

爲了解決這個問題,只需附上您的網址報價:

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