找回密码
 加入怎通
查看: 140|回复: 0

http请求响应,curl命令用法

[复制链接]
我来看看 发表于 2023-03-17 17:54:22 | 显示全部楼层 |阅读模式
: G2 D! ~* `7 S) r5 E8 S

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

/ w4 N' }! c2 C3 Y

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

- o" s( e, x, y, K+ j

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

3 g1 W) z5 D8 ?+ x

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

8 q! B6 n* K; C+ O9 g, v

二、http请求包含部分1、格式1动词 路径 协议/版本 ) F, `: _, {+ `: p 2 Key1: value1 |9 T, v4 E+ _& W' O 2 Key2: value2 ! s! p2 Z" l5 T" m 2 Key3: value3 " \2 q! B; U& T& b 2 Content-Type: application/x-www-form-urlencoded* j6 }4 Q9 m8 F) l7 g# l) z 2 Host: www.baidu.com* x1 n" G. Z% M) k, B. i 2 User-Agent: curl/7.54.0 / Q9 E" m! B6 ] 3 3 o3 V, G6 A$ R+ @" U7 q 4 要上传的数据

+ l x' A( I+ e3 E) S# `% F

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

; a4 x9 b- n4 D. h. J8 _

2、GET请求例子1 GET / HTTP/1.1) C, {$ h' m6 I, |) t) S 2 Host: www.baidu.com9 i' [3 ^1 X, m; {! P$ T 2 User-Agent: curl/7.54.0 . B) F3 W/ p: U) T6 Z" u 2 Accept: */*. N# N! @+ F2 |8 Q 2 Frank: xxx; N) y; M5 S/ }% k, a 3

4 _4 X7 p) E6 N! `* X. ~+ u' \- E

3、POST请求例子1 POST /path HTTP/1.1- k* ]. X& ~! S" e4 g7 ` 2 Host: baidu.com 5 b1 U" c7 ^* b7 M: j8 y p9 s- V 2 Accept:application/json * z& D# d, W( O# I# K1 O) G 2 Conetent-Type:application/x-www-form-urlencoded . @0 q& a3 h$ V2 u+ g 2 Conetent-Length:1000 ; D! k; p) t& ?4 a8 N2 f. \$ ~* x 3. x$ j5 q2 v" `7 e" O" u% K# f 4 username=ff&password=123

9 s" V5 S( Q: }! X m/ W

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

2 E0 q1 i4 a9 L0 j; @

4、可以看到请求的前三部分了5、如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到四、http响应包含部分1、格式1 协议/版本号 状态码 状态解释 % [" ^) K2 f8 G! \% ~ 2 Key1: value1; B3 y% I5 {; X ]% f* q- | 2 Key2: value27 ~/ N! N" M; b( S; r9 L3 t 2 Content-Length: 17931% g( I1 P$ s$ M, ?8 m& ]. b* Y 2 Content-Type: text/html( i) ?% a1 M/ Q6 N1 L; h9 v 3 4 G/ X% Y" L9 [' @* u8 Y% K 4 要下载的内容

% M/ R7 w# L3 Y) }2 T

2、例子HTTP/1.1 302 Found7 J# L) x8 a/ Q+ z Connection: Keep-Alive+ z- f* f- @! z/ x& O7 \0 L4 L' p Content-Length: 17931 2 T3 G2 h; Q! C) E H Content-Type: text/html / u+ z5 G; ~' j: J3 j# _/ U9 J- ] Date: Tue, 10 Oct 2017 09:19:47 GMT + ]- n6 o. s$ N# |9 p Etag: "54d9749e-460b") b) }! }+ {0 w4 v Server: bfe/1.0.8.18

& X$ m! W/ L- s" H

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

4 U8 y1 k( O% e7 N* W$ I8 @

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

1 h6 \4 c& \/ Z& G ~% o

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

# p1 l% ]5 {5 s$ i' e& |6 Q+ P

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

! `4 U( O; B' E; P" C, k + V$ H8 o7 u- @- _% ?8 V! f+ _! E# C( ~ + y/ Y+ T# H" y4 O + V9 W: R$ w2 Y5 ?; B$ Q' t) A
回复

使用道具 举报

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

    本版积分规则

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

    GMT+8, 2026-4-4 08:24 , Processed in 0.435230 second(s), 50 queries , Gzip On.

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

    Powered by Discuz! X3.5

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