一、请求
组成
请求最多包含四部分,最少包含前三部分
1 动词(GET / POST / PUT / PATCH / DELETE) + 路径(没有的话为 /
) + 协议 / 版本;(e.g: POST / HTTP/1.1
)
2 Key1: value1
2 Key2: value2
2 Key3: value3
……
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3 (永远是空行\n
)
4 要上传的数据
使用Chrome开发者工具查看 HTTP 请求内容
1.在Chrome 中,右键,进入inspect,点击 Network;
2.地址栏输入网址;
3.在 Network 点击,查看 request,点击 view source
就可以看到请求的前两部分;
4.如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
二、响应
组成
响应包含四部分:
1 协议/版本号 + 状态码 + 状态解释(e.g: HTTP/1.1 302 Found
)
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
使用Chrome开发者工具查看 HTTP 响应内容
1.在Chrome 中,右键,进入inspect,点击 Network;
2.输入网址
3.选中第一个响应
4.查看 Response Headers,点击view source
就可以看到响应的前两部分;
5.查看 Response 或者 Preview,你会看到响应的第 4 部分
三、如何使用 curl 命令
curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。
语法:
$ curl --help
Usage: curl [options...] <url>
最简单的:
$ curl www.sina.com
就可以获取 www.sina.com 的代码
参数
-v/--verbose
小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-m/--max-time <seconds>
指定处理的最大时长
-H/--header <header>
指定请求头参数
-s/--slient
减少输出的信息,比如进度
--connect-timeout <seconds>
指定尝试连接的最大时长
-x/--proxy <proxyhost[:port]>
指定代理服务器地址和端口,端口默认为1080
-T/--upload-file <file>
指定上传文件路径
-o/--output <file>
指定输出文件名称
-d/--data/--data-ascii <data>
指定POST的内容
--retry <num>
指定重试次数
-e/--referer <URL>
指定引用地址
-I/--head
仅返回头部信息,使用HEAD请求
网友评论