找回密码
 加入怎通
查看: 146|回复: 1

http请求响应,curl命令用法

[复制链接]
我来看看 发表于 2023-03-17 17:54:22 | 显示全部楼层 |阅读模式
! I' ]: v; R3 z' E3 [# j5 h+ u

HTTP 请求包括哪些部分,如何用Chrome开发者工具查看 HTTP 请求内容?HTTP 响应包括哪些部分,如何用Chrome开发者工具查看 HTTP 响应内容?如何使用 curl 命令?一、笔记1、李爵士发明了URI(统一资源标识符)、HTTP(超文本传输协议)、HTML(超文本标记语言);

. x+ p( s/ ]& c6 |1 c5 e

2、URL(统一资源定位符)、URN(统一资源名称);3、URL组成:协议+域名+路径+查询参数+锚点+端口,http://baidu.com是二级域名,http://www.baidu.com是三级域名;

" b6 v; s0 Z( L0 y. }

4、DNS(域名解析系统):输入域名,输出IP;5、server服务器、client客户端、http协议,一个端口只做1件事,80端口用来服务http;6、浏览器负责发起请求,服务器在 80 端口接收请求,服务器负责返回内容(响应),浏览器负责下载响应内容,HTTP 的作用就是指导浏览器和服务器如何进行沟通;

+ b3 f& M! k+ ]! Z

7、状态码解释:https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81​zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81

0 ^' o: ]+ `5 m( {0 r+ t. F7 P4 D4 f' i

二、http请求包含部分1、格式1动词 路径 协议/版本- m2 C7 t0 }$ L2 d) d* V! `3 | 2 Key1: value1( C& R4 |3 T- I 2 Key2: value2 $ A. C' y3 r r1 V# U" Q/ F 2 Key3: value3! v- M8 r9 y( s- I) S 2 Content-Type: application/x-www-form-urlencoded ) P8 l0 G8 s3 q% [) e 2 Host: www.baidu.com$ V) u1 d- A# c: {9 r 2 User-Agent: curl/7.54.0 ; l2 \9 \' ~5 F+ r1 D5 D 3# ~+ O9 G" j' R8 D" F 4 要上传的数据

. v3 z; l% n+ ^- ?! h# f" P

解释:请求最多包含4部分,最少包含3部分;第3部分永远是一个回车;动词可以是GET(获取) POST(上传)PUT(整体更新)PATCH(局部更新)DELETE(删除)HEAD OPTIONS等;路径包含查询参数但不包括锚点;如果没有写路径,默认为/;Content-Type标注了第四部分的格式;

1 q+ m$ H8 L) E# h" D! J. H

2、GET请求例子1 GET / HTTP/1.1 3 M" a ]9 ^5 }9 T 2 Host: www.baidu.com; U5 g e7 P5 S3 q8 `' J 2 User-Agent: curl/7.54.0" H* c/ G9 {# Z y 2 Accept: */*; f6 I2 j& u# b& {6 b 2 Frank: xxx* M5 I7 Q+ F# c$ q: w8 ~ 3

+ j+ N7 H0 |1 O

3、POST请求例子1 POST /path HTTP/1.1 ! B& Z& i+ c" f4 j, Y) ] 2 Host: baidu.com. R! a# A. p# G/ p# K 2 Accept:application/json * C/ Y. |, O P" j0 j& E4 y 2 Conetent-Type:application/x-www-form-urlencoded ! \/ @ V1 f5 G$ x 2 Conetent-Length:1000 * y) Q! o t+ ^3 h m' O8 o 3 * }! I9 P! ^2 N 4 username=ff&password=123

* ~- S, c1 q& V. x3 L6 ^" n

三、用Chrome查看请求1、打开 Network2、地址栏输入网址3、在 Network 点击查看 request,点击「view source」点击「view source」点击「view source」

) e) G* X7 p3 x1 C6 m g

4、可以看到请求的前三部分了5、如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到四、http响应包含部分1、格式1 协议/版本号 状态码 状态解释! E7 B! k3 Q, ~ 2 Key1: value1% K' f" L/ T* m& m) h2 f" Y 2 Key2: value2 % L0 j" z* C) r8 f: b$ C o 2 Content-Length: 17931) t7 a& ?- k2 @. a \" Z" }1 L 2 Content-Type: text/html& a- k6 z/ G+ a2 q$ r9 C9 G 3$ W2 K4 J: H: q. ^' N 4 要下载的内容

9 @ J2 ]" Q5 C. C5 v

2、例子HTTP/1.1 302 Found % M K5 g" P9 S/ e' I. ~: e+ |- b Connection: Keep-Alive( D1 r; M6 B% S7 U0 L; M0 t Content-Length: 17931 - X9 A6 n* N: G- c Content-Type: text/html8 A. }! N, Z1 N4 }+ S* D7 m. I Date: Tue, 10 Oct 2017 09:19:47 GMT: E6 d" M9 ^/ O) D Etag: "54d9749e-460b" : G$ \& o. F- s Server: bfe/1.0.8.18

7 i X3 |7 q) s4 f

五、用Chrome查看响应1、打开 Network2、输入网址3、选中第一个响应4、查看 Response Headers,点击「view source」5、你会看到响应的前两部分6、查看 Response 或者 Preview,你会看到响应的第 4 部分

3 A& M6 k' w8 d0 c- a8 c) U

六、如何使用curl命令1、GET请求访问百度的命令:curl -s -v -- "https://www.baidu.com"2、如果要获取网页时使用额外的标题,可以输入命令:url -s -v -H "Lambert: xxx" -- "https://www.baidu.com"

+ z( I$ [! F# P& z% P

3、POST请求使用额外标题访问QQ的命令:curl -X POST -s -v -H "Lambert: xxx" -- "https://www.qq.com"4、POST请求访问并指定数据发送HTTP服务器命令:

( W0 y/ |2 g' r

curl -X POST -d "111111111" -s -v -H "Lambert: xxx" -- "https://www.qq.com"5、下载一个页面的内容curl 网址>本地文件夹路径

4 h7 f8 _5 g! k6 n- ]9 |. m/ ~ # P8 h* ~3 T' |4 i; {1 U , p6 J: F W" n N 9 F6 @* _$ V- F/ J! Q 2 X, N+ i' c p" O2 e
回复

使用道具 举报

山核桃5元 发表于 2026-04-04 08:24:57 | 显示全部楼层
楼主辛苦了,整理这么多内容,必须点赞收藏
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-7-8 17:19 , Processed in 0.047654 second(s), 25 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表