用 curl 命令构造请求

目录

1、如何发送请求

2、如何做出响应

3、HTTP 基础概念

4、用 curl 构造请求

5、用Node.js 读取请求

6、用Node.js设置响应


1、如何发送请求

向服务器发送请求的主要方式有两种,(1)用浏览器(比如: Chrome )的地址栏、(2)使用 curl 命令。

以上两者都会代替用户向服务器发送请求,所以它们也被称之为「用户代理」,英文名:User Agent。

2、如何做出响应

要让服务器根据用户发送的请求做出响应,就需要在服务器编写相应的后端代码,下面是一些服务器代码的参数:

path 不带查询参数的路径,比如: /xxx query 查询参数的对象形式,比如:{a:1}
queryString 查询参数的字符串形式,比如:?a=1 pathWithQuery 带查询参数的路径,一般不用
request 请求对象 response 响应对象

3、HTTP 基础概念

//请求格式如下:                                                //请求实例
请求动词 路径加查询参数 协议名/版本      /*请求行*/               POST /xxx http/1.1
Host:服务器域名或IP                    /*请求头*/               HOST:www.baidu.com
Accept:text/html                      /*请求头*/               Accept:text/html 
Content-Type:请求体的格式              /*请求头*/               Content-Type:text/html
回车                                  /*回车符*/               (CRLF)
请求体(也就是上传内容)                /*请求体*/               name=erha
----------------------------------------------------------------------------------------------------------------
//相应格式如下:                       /*响应行*/               //实例
协议名/版本 状态码 状态字符串           /*响应头*/               http/1.1 200 OK
Content-Type:响应体的格式              /*响应头*/               Content-Type:text/html
回车                                  /*回车符*/               (CRLF)
响应体(也就是下载内容)                /*响应行*/               <h1>hello erha<h1>

4、用 curl 构造请求

需求 描述
用 curl 构造请求 命令行:curl -v http://127.0.0.1:8888
设置请求动词 命令行:curl -v -X POST http://127.0.0.1:8888,注意大小写
设置路径和查询参数 命令行:curl -v -X POST http://127.0.0.1:8888/xxx?name=erha
设置请求头

命令行:curl -v -X POST --header 'Name:Value' http://127.0.0.1:8888/xxx?name=erha

或者是:curl -v -X POST -H 'Name:Value' http://127.0.0.1:8888/xxx?name=erha

设置请求体 在上述的基础上添加:-d '内容',或者添加:--data '内容'
   

5、用Node.js 读取请求

需求 描述
读取请求动词 request.method
读取路径 request.url:路径,带查询参数、path:纯路径,不带查询参数、query:只有查询参数
读取请求头 request.headers['Accept']
 

6、用Node.js设置响应

需求 描述
设置响应状态码 response.statusCode=200
设置响应头 response.setHeader("Content-Type,'text/html");
设置响应体 response.write("内容");可追加内容
 
发布了197 篇原创文章 · 获赞 13 · 访问量 8370

猜你喜欢

转载自blog.csdn.net/Marker__/article/details/104632676