使用Google浏览器开发者工具学习HTTP请求记录
GET请求
1.Google浏览器开发者工具截图图示
2.General
- Request URL :为请求链接
- Status Code :为HTTP响应状态码
3.ResponseHeaders :响应头
4.Request Headers :请求头
- 留意请求头内无Content-Type
5.Query String Parameters :GET 请求参数
POST请求(正常表单提交)
1.其他同上
2.Request Headers :请求头
- 注意Content-Type:application/x-www-form-urlencoded,与其他POST方式做对比
3.Form Data :post传递的值
- 格式与GET请求一致
POST请求(AJAX未指定请求头RequestHeader)
1.其他同上
2.Request Headers :请求头
- 注意Content-Type:text/plain;charset=UTF-8
- 有些未带charset=UTF-8
3.Request Payload :post传递的值,Form Data不见了
- 另外格式也与GET请求一致
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
}
使用Google浏览器开发者工具学习HTTP请求记录的更多相关文章
- 利用google浏览器开发者工具调试网页(详)
前端程序员或者在校大学生正在开发网页,如果想要测试或者通过测试优化网页结构,该怎么办呢?这就需要用到一款工具,chrome浏览器的开发者工具?本文写给尚不熟悉这个开发者工具的同学们或者同行们,话不多说 ...
- Google浏览器开发者工具:CSSViewer(一个Css查看器)
CSSViewer的简介 CSSViewer是一款可以帮助用户快速查看当前的网页元素的CSS属性的谷歌浏览器插件,在Chrome中安装了CSSViewer插件以后,用户就可以在设计网页的时候,快速地模 ...
- Google Chrome谷歌/火狐/Safari浏览器开发者工具基本使用教程
前言 在阅读下面内容之前,那么些简单的了解浏览器开发者工具到底是什么东西,到底有什么用途. 浏览器开发者工具到底是什么? 其实简单的说,浏览器开发者工具就是给专业的web应用和网站开发人员使用的工具, ...
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...
- 谷歌Chrome浏览器开发者工具的基础功能
上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...
- [转]谷歌Chrome浏览器开发者工具教程—JS调试篇
来源:http://blog.csdn.net/cyyax/article/details/51242720 上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工 ...
- Google Chrome开发者工具
Google Chrome开发者工具 是内嵌到浏览器的开发工具,打开方式有两种:第一“按F12”,第二:shift+ctrl+i(火狐.360等浏览器也可以这么用) Console介绍 Console ...
- HTTP入门(二):用Chrome开发者工具查看 HTTP 请求与响应
HTTP入门(二):用Chrome开发者工具查看 HTTP 请求与响应 本文简单总结HTTP的请求与响应. 本文主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和原理可以参考HTTP文档(MD ...
- 浏览器开发者工具console
浏览器开发者工具基本使用教程 谷歌Chrome浏览器开发者工具教程-基础功能篇 - 算命de博客 - CSDN博客 JavaScript Console 对象 | 菜鸟教程
随机推荐
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
java.lang.Object ....|__java.util.Date ..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time ...
- Day1--Python基础1--上半部分
一.第一个python程序 在linux下创建一个文件叫做hello.py,并输入 print "Hello World" 然后执行命令:python hello.py,输出 [r ...
- __cdecl & __stdcall calling conventions
(一) __cdecl: c declaration C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈.C/C++默认的调用方式,可用于函数参数不确定的情况下. ...
- SpringMVC—对Ajax的处理(含 JSON 类型)(1)
一.首先要搞明白的一些事情. 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON ...
- c# webapi2 实用详解
本文介绍webapi的使用知识 发布webapi的问题 配置问题 webapi的项目要前端访问,需要在web.config配置文件中添加如下配置 在system.webServer节点下面添加 < ...
- php学习之try catch
PHP 5 添加了类似于其它语言的异常处理模块.在 PHP 代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获.(注:一定要先抛才能获取) 需要进行异常处理的代码都必须放入 try ...
- [原]实例-简单设计&精简代码&复用代码
引言 本文以实际项目为例谈一谈我个人对于软件开发的理解,偏细节 软件项目B 基于.net平台,使用WPF框架,c#语言,MVVM模式开发的桌面软件 该软件支持可视化的设计器功能,允许所见即所得的方 ...
- python中not的用法
python中的not具体表示是什么: 在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法: ...
- Maven学习笔记1-牛逼的POM文件
IDE:integrated development enterprise 集成开发环境: 一.pom文件 POM是项目对象模型(Project Object Model)的简称:maven世界中必须 ...
- 第3章 ZooKeeper基本数据模型 3-1 zk数据模型介绍
基本数据模型是zookeeper的重点. 它是参照Linux/Unix的目录结构. 子节点就相当于是父目录下的一个子目录,在zookeeper里面它是称之为节点,父节点和子节点,然后每一个节点就会有一 ...