美文网首页
http请求响应与curl命令

http请求响应与curl命令

作者: 饥人谷_ika0s | 来源:发表于2019-07-13 23:27 被阅读0次

http请求报文

  • 请求行:请求方法 请求的url http协议及版本。
  • 请求头:一大堆的键值对。
  • 空行指的是:当服务器在解析请求头的时候,如果遇到了空行,则表明,后面的内容是请求体。
  • 请求体:数据部分(可以为空)。

http响应报文

状态行:http协议及版本 状态码 状态描述。

响应头:一大堆的键值对。

空行:当服务器在解析响应头的时候,如果遇到了空行,则表明,后面的内容是响应体。

响应体:数据部分(可以为空)。

PS:Content-Type标注了请求体/响应体的数据格式

http方法

GET:获取资源

POST:传输资源

put:更新资源

PATCH:更新部分资源

DELETE:删除资源

HEAD:获得报文首部

GET与POST的几点区别

  1. 浏览器在回退时,get不会重新请求,但post会重新请求。
  2. get请求会被浏览器主动缓存,而post不会。
  3. get请求的参数,会保留在浏览器的历史记录里,而post不会。
  4. get请求在url中传递的参数有大小限制,基本是2kb,不同的浏览器略有不同。
  5. get参数是直接暴露在url上的,而post是放在请求体中的。

http状态码

1xx:提示信息-请求已接收,继续处理

2xx:成功-请求已被成功接收

3xx:重定向

4xx:客户端错误-请求有语法错误或无法实现

5xx:服务器错误

用Chrome开发者工具查看 HTTP 请求内容

以百度为例看get请求

  1. 打开 Network

  2. 地址栏输入www.baidu.com

  1. 查看 www.baidu.com的request部分
  1. 点击view source


登录百度,看post请求

  1. 勾上Preserve log,点击登录
  1. FormData 里可以看到请求体里的密码

用Chrome开发者工具查看 HTTP 响应内容

依然以百度为例,查看response部分,点击view source

curl命令的使用

1.命令功能

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载

2.命令格式

curl [选项] [URL]

3.常见使用方法

curl url

查看网页源码

curl -X

指定请求方式

curl -X post

curl -c

保存 Cookie

curl -c "保存cookie的文件名" http://www.example.com

curl -b

读取cookie

curl -b "cookie字符串或文件名" http://www.example.com

curl -d

使用-d发送带参数的请求,如果省略 -X,则默认为 POST 方式

curl -d "userName=abc" http://www.example.com/login

curl -H

自定义Header头信息

curl -H "Content-Type:text/html" http://www.example.com

curl -v

显示请求的信息 ,包括端口连接和 http 头。

curl -i

显示http头,连同网页代码。

curl -I

只显示http头。

提交表单信息

浏览器每次向服务器发送url时都会进行编码,然后服务器再进行解码。

所以用curl提交表单时,所传参数都必须进行编码

1.header不需要加urlencode,浏览器会自动编码

2.post和get所传参数没有编码的话需要加urlencode

$ curl -X POST --data-urlencode "data=哈哈abc" example.com/form

相关文章

网友评论

      本文标题:http请求响应与curl命令

      本文链接:https://www.haomeiwen.com/subject/hsevkctx.html