HTTP協議(6)HTTP請求方法

對於HTTP請求報文,下面介紹一些需要重點了解的內容。
首先,在請求行中比較重要的是請求方法。請求方法用於客戶端向服務端傳送數據,主要有Get和Post兩種方法。
Get方法通過URL向服務器發送數據,所以使用Get方法傳遞的數據會顯示在瀏覽器地址欄中。由於瀏覽器對URL的長度會有限制,所以Get方法通常用於向服務器發送少量數據。比如請求頭“GET index.php?id=1 HTTP/1.1”,表示客戶端請求訪問服務器的index.php頁面,並用Get方法向服務器傳遞數據“id=1”,id是在服務器端事先定義好的一個參數,數值1就是客戶端所傳送的數據。如果要同時傳遞多個參數,參數之間以&分隔,如id=1&name=admin。
Post方法將要發送的數據放在HTTP請求報文的正文中,所以傳遞的數據不會顯示在瀏覽器地址欄中。可以用於向服務器發送大量數據,如用戶登錄、上傳文件、提交留言等都會使用Post方法。典型的Post請求報文如下圖所示。
HTTP協議(6)HTTP請求方法

例題1 BugKu web基礎$_GET
鏈接:http://123.206.87.240:8002/get/
點開鏈接之後,直接給出了代碼,用get方法接收what參數的值,只要what的值爲flag,那麼就可以得到flag。

$what=$_GET['what'];
 echo $what;
 if($what=='flag')
 echo 'flag{****}';

直接通過地址欄向服務端發送數據即可。
HTTP協議(6)HTTP請求方法

例題2 BugKu Web基礎$_POST
鏈接:http://123.206.87.240:8002/post/
與上一題類似,用post方法接收what參數的值。

$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';

這裏就涉及到如何通過post方法向服務端發送數據。推薦在firefox瀏覽器中安裝hackbar插件,通過設置項中的“附加組件”搜索並安裝即可。
安裝完成後,通過查看元素或F12都可以調出hackbar。然後載入鏈接,併發送post數據即可。
HTTP協議(6)HTTP請求方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章