一、HTTP 请求包括哪些部分,如何用Chrome开发者工具查看 HTTP 请求内容
当浏览器向服务器发出请求时,是在向服务器发送数据块,以访问百度这个网站举例。
使用Chrome浏览器打开百度,右键“检查”。
点击Network
Snipaste_2018-12-10_22-33-01.png
选中Perserve log保留请求日志 并 情况当前日志,然后刷新页面。
Snipaste_2018-12-10_22-35-43.png
点击第一个www.baidu.com,打开request headers,点击view source就可以查看请求的内容。
Snipaste_2018-12-10_22-39-08.png
数据块主要包括这几个部分
第一部分:请求方式,请求的目录,HTTP协议和版本号
第二部分:各种key
第三部分:换行
Snipaste_2018-12-10_22-47-50.png
第四部分:请求的正文部分(POST),在 FormData 或 Payload 里面可以看到
二、HTTP 响应包括哪些部分,如何用Chrome开发者工具查看 HTTP 响应内容
查看响应的方式和请求类似,只是在response headers中进行查看
第一行:协议与版本号,状态码,状态解释
第二部分:各种key
第三部分:换行
第四部分是正文在response中查看。
三、如何使用 curl 命令
curl是一个利用URL规则在命令行下工作的文件传输工具,可以简单的理解成一个网页下载器也有上传的功能。
1.不加参数直接使用
curl http://www.baidu.com
默认会发送 GET 请求来获取链接内容到标准输出
2.显示HTTP的header
curl -I http://www.baidu.com
或者
curl -i http://www.baidu.com
I(大写i)代表不显示正文信息,i代表显示正文信息。
3. 将链接保存到文件
可以使用 > 符号将输出重定向到本地文件中。
curl http://www.baidu.com > index.html
也可以通过 curl 自带的 -o/-O 选项将内容保存到文件中。
-o(小写的 o):结果会被保存到命令行中提供的文件名
curl -o index.html http://www.baidu.com
同时也可以用-o/O下载多个页面
4. 使用 -H 自定义 header
当我们需要传递特定的 header 的时候,可以仿照以下命令来写:
curl -H "Referer: www.example.com" -H "User-Agent: Custom-User-Agent" http://www.baidu.com
可以看到,当我们使用 -H 来自定义 User-Agent 时,需要使用 "User-Agent: xxx" 的格式。
5,其他的一些参数
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息
-s/--slient 减少输出的信息
更多的可以查询
explainshell
网友评论