使用Google瀏覽器開發者工具學習HTTP請求記錄


GET請求

1.Google瀏覽器開發者工具截圖圖示

GET請求

2.General

  • Request URL :為請求鏈接
  • Status Code :為HTTP響應狀態碼

3.ResponseHeaders :響應頭

4.Request Headers :請求頭

  • 留意請求頭內無Content-Type

5.Query String Parameters :GET 請求參數


POST請求(正常表單提交)

正常表單提交POST請求

1.其他同上

2.Request Headers :請求頭

  • 注意Content-Type:application/x-www-form-urlencoded,與其他POST方式做對比

3.Form Data :post傳遞的值

  • 格式與GET請求一致

POST請求(AJAX未指定請求頭RequestHeader)

AJAX提交POST請求

1.其他同上

2.Request Headers :請求頭

  • 注意Content-Type:text/plain;charset=UTF-8
  • 有些未帶charset=UTF-8

3.Request Payload :post傳遞的值,Form Data不見了

  • 另外格式也與GET請求一致

POST請求(JSON傳遞參數)

Post請求(JSON傳遞參數)

1.其他同上

2.Request Payload :傳遞的值

  • 注意字符串格式為json,與上面3種方式都不同

結論

前面3種都與常規方式一樣,主要是第4種方式

1. 模擬POST請求傳遞JSON參數(PHP)

<?php $url = "http://www.111.com"; $post['vin'] = "12312435"; //$post參數需要json_encode $json = _curl_post($url, json_encode($post)); //$json為返回值,示例為返回JSON字符串 $data = json_decode($json, true); //告訴瀏覽器輸出為json字符串 header("Content-Type:application/json; charset=UTF-8"); echo $data['d']['Data']; function _curl_post($url, $post) { if ($url) { //告訴服務端提交的為JSON參數 $header[] = "Content-Type:application/json; charset=UTF-8"; $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $header, CURLOPT_POST => 1, CURLOPT_ENCODING => 'gzip,deflate', CURLOPT_POSTFIELDS => $post ); $ch = curl_init($url); curl_setopt_array($ch, $options); $result = curl_exec($ch); curl_close($ch); return $result; } } ?>

 


2.后端獲取請求參數

前面Ajax發送代碼(使用jQuery):

$.ajax({
    url: '', type: 'POST', contentType: 'application/json; charset=utf-8', // 很重要 traditional: true, data: JSON.stringify({your json object}), // {"name":"zhangsan", "age": 28} success: function(res, status, xhr) { // your code .... } });

 

服務端接收代碼(java):

HttpServletRequest req = ... try { BufferedReader reader = req.getReader(); StringBuilder sb = new StringBuilder(); char[] buff = new char[1024]; int len = -1; while((len = reader.read(buff)) != -1) { sb.append(buff, 0, len); } reader.close(); // example System.out.println( sb.toString() ); // {"name":"zhangsan", "age": 28} } catch(IOException e) { // error }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM