Method Request-URI HTTP-Version
Header-field: Header-value
Request-Body
在 HTTP 请求中使用注释
-
在请求中,以//或开始任何行,#使其成为注释行。
// A basic request
GET http://example.com/a/
为 HTTP 请求设置名称
-
###在、# @name或旁边的请求上方键入一个名称# @name =。
对 GET 请求使用简写形式
-
对于GET请求,您可以省略请求方法并仅指定 URI。
// A basic request
http://example.com/a/
在一个文件中编写多个请求
// A basic request
http://example.com/a/
// A basic request
http://example.com/a/
// A second request using the GET method
http://example.com:8080/api/html/get?id=123&value=content
将长请求分成几行
-
缩进除第一行之外的所有查询字符串行。
// Using line breaks with indent
GET http://example.com:8080
/api
/html
/get
?id=123
&value=content
通过身份验证访问 Web 服务
-
根据您访问的 Web 服务,提供基本或摘要 授权标头。
// Basic authentication
GET http://example.com
Authorization: Basic username password
// Digest authentication
GET http://example.com
Authorization: Digest username password
提供请求消息体
-
在适当的位置键入请求正文:
// The request body is provided in place
POST http://example.com:8080/api/html/post HTTP/1.1
Content-Type: application/json
Cookie: key=first-value
{ "key" : "value", "list": [1, 2, 3] }
-
要从文件中读取请求正文,请键入<符号,后跟文件的路径。
// The request body is read from a file
POST http://example.com:8080/api/html/post
Content-Type: application/json
< ./input.json
使用 multipart/form-data 内容类型
-
将请求的Content-Type设置为multipart/form-data。要将文件作为multipart/form-data消息的一部分发送,请在Content-Dispositionfilename标头中包含参数。
POST http://example.com/api/upload HTTP/1.1
Content-Type: multipart/form-data; boundary=boundary
--boundary
Content-Disposition: form-data; name="first"; filename="input.txt"
// The 'input.txt' file will be uploaded
< ./input.txt
--boundary
Content-Disposition: form-data; name="second"; filename="input-second.txt"
// A temporary 'input-second.txt' file with the 'Text' content will be created and uploaded
Text
--boundary
Content-Disposition: form-data; name="third";
// The 'input.txt' file contents will be sent as plain text.
< ./input.txt --boundary--
禁用以下重定向
-
在请求之前,添加带有@no-redirect标记的注释行。
// @no-redirect
example.com/status/301
禁用将请求保存到请求历史记录
-
在请求之前,添加带有@no-log标记的注释行。
// @no-log
GET example.com/api
禁用将收到的 cookie 保存到 cookie jar
-
在请求之前,添加带有@no-cookie-jar标记的注释行。
// @no-cookie-jar
GET example.com/api
使用变量
在请求中提供一个变量
-
将变量括在双花括号中作为{{variable}}. -
变量名只能包含字母、数字、下划线_或连字符-。变量的值可以是以下任何一种: -
通过环境变量为每个环境显式提供 -
通过$uuid、$timestamp和$randomInt预定义的动态变量动态生成 -
通过该方法在响应处理程序脚本中以编程方式定义client.global.set。
环境变量
定义环境变量
{
"development": {
"host": "localhost",
"id-value": 12345,
"username": "",
"password": "",
"my-var": "my-dev-value"
},
"production": {
"host": "example.com",
"id-value": 6789,
"username": "",
"password": "",
"my-var": "my-prod-value"
}
}
{
"development": {
"username": "dev-user",
"password": "dev-password"
},
"production": {
"username": "user",
"password": "password"
}
}
GET http://{{host}}/api/json/get?id={{id-value}}
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
{
"key": "{{my-var}}"
}
GET http://localhost/api/json/get?id=12345
Authorization: Basic dev-user dev-password
Content-Type: application/json
{
"key": "my-dev-value"
}
GET http://example.com/api/json/get?id=6789
Authorization: Basic user password
Content-Type: application/json
{
"key": "my-prod-value"
}
动态变量
-
$uuid:生成一个通用唯一标识符(UUID-v4) -
$timestamp: 生成当前的 UNIX 时间戳 -
$randomInt: 生成 0 到 1000 之间的随机整数。
GET http://localhost/api/get?id={{$uuid}}
处理响应
GET https://httpbin.org/get
> /path/to/responseHandler.js
GET https://httpbin.org/get
> {%
client.global.set("my_cookie", response.headers.valuesOf("Set-Cookie")[0]);
%}
重定向响应
-
{{$projectRoot}}指向项目根目录:.idea -
{{$historyFolder}}指向.idea /httpRequests/
POST https://httpbin.org/post
Content-Type: application/json
{
"id": 999,
"value": "content"
}
myFolder/myFile.json
POST https://httpbin.org/post
Content-Type: application/json
{
"id": 999,
"value": "content"
}
> {{$projectRoot}}/handler.js
! {{$historyFolder}}/myFile.json
扫码进群记得备注:城市、昵称和技术方向。
ChatGPT还是被用来搞黄色了... 【GoLand教程】详解 GoLand HTTP 客户端 【GoLand教程】使用 GoLand 创建测试
发表评论