24. 卷曲

此方法是从 curl 命令创建 http 请求。如果您想了解更多关于 curl 的信息,请点击 Curl 文档

24.1 如何输入(a)命令

从 cURL 命令创建测试计划

  1. 要从 cURL 创建导入,请打开工具菜单并单击从 cURL 导入
    图1——curl所在的菜单
    图1——curl所在的菜单
  2. 有两种方法可以进入 curl 命令行。首先,我们可以手动输入。其次,我们可以导入包含 curl 命令行的文件。该工具支持同时输入多个 curl 命令行。
    图 2.1 - 在文本面板中输入 curl 命令
    图 2.1 - 在文本面板中输入 curl 命令
    图 2.2 - 从文件中输入 curl 命令
    图 2.2 - 从文件中输入 curl 命令
  3. 然后,单击Create Test Plan按钮,一个新的 HTTP Sample 将被添加到测试计划中。
    图 3 - 测试计划的结果
    图 3 - 测试计划的结果

24.2 支持卷曲选项

-H , --header <标题>
获取网页时使用的额外标题。
-X , --request <命令>
指定与 HTTP 服务器通信时要使用的自定义请求方法。
--压缩
使用 curl 支持的算法之一请求压缩响应,并返回未压缩的文档。
-A , --user-agent <代理字符串>
指定要发送到 HTTP 服务器的用户代理字符串。
-b , --cookie <名称=数据>
将数据作为 cookie 传递给 HTTP 服务器。
-d和朋友

通过 POST 请求发送数据

将 POST 请求中的指定数据发送到 HTTP 服务器。如果在同一命令行上多次使用此选项,则指定的数据片段将与分隔的“ & ”字符合并在一起。因此,使用' -d name=daniel -d Skill=lousy '会生成一个看起来像' name=daniel&skill=lousy '的POST块。

-d , --data <数据> , --data-ascii <数据>
使用@上传文件
--data-raw <数据> >
--data-raw <数据>
这完全按照指定的方式发布数据,没有任何额外的处理。如果您以字符@ 开始数据,则其余部分应为文件名。
--data-raw <数据> ta>
这将发布数据,类似于其他--data选项,不同之处在于它执行 URL 编码。
--data-raw <数据>
这类似于--data发布数据,但没有对@字符的特殊解释。
-F和朋友们

这让 curl 可以模拟用户按下提交按钮的填写表单。

-F , --form <名称=内容>
使用@上传文件
--form-string <名称=内容>
-u , --user <用户:密码>
指定用于服务器身份验证的用户和密码。
--基本--摘要
告诉 curl 使用 HTTP 身份验证。
--cacert和朋友们

告诉 curl 在使用 HTTPS 获取文件时使用指定的客户端证书文件

--cacert <CA 证书>
--capath <CA 证书目录>
--ciphers <密码列表>
--cert-status
--cert-type <类型>
-G,--得到
将帖子数据放在 URL 中并使用 get 替换帖子。
--no-keepalive
禁用在 TCP 连接上使用 keepalive 消息。
-e , --referer <URL>
将Referer Page信息发送到HTTP 服务器。
-L--位置
如果服务器报告请求的页面已移动到不同的位置,此选项将使 curl 在新位置重做请求。
-i , --包括
在输出中包含 HTTP 标头。
--connect-timeout <秒>
连接到服务器可能花费的最长时间(以秒为单位)。
--keepalive-time <秒>
此选项设置连接在发送保活探测之​​前需要保持空闲的时间以及各个保活探测之​​间的时间。
-m , --max-time <秒>
允许整个操作花费的最长时间(以秒为单位)。
-x , --proxy <[protocol://][user:password@]proxyhost[:port]>
使用指定的 HTTP 代理。如果未指定端口号,则假定为端口1080
-U , --proxy-user <用户:密码>
指定用于代理身份验证的用户和密码。
-k , --不安全
此选项明确允许 curl 执行不安全的SSL 连接和传输。
- 生的
使用时,它会禁用所有内容的内部 HTTP 解码或传输编码,而是让它们原封不动地传递。
-我, --
仅获取 HTTP 标头。HTTP 服务器具有HEAD方法,该方法用于获取文档标题以外的任何内容。
--interface <名称>
使用指定的接口执行操作。您可以输入接口名称、IP 地址或主机名。
--proxy-ntlm / --proxy-negotiate
告诉 curl 在与给定代理通信时使用 HTTP BASIC/NTLM/Digest 身份验证。
--dns-servers <地址>
通过 DOH 解析主机名。
--resolve <主机:端口:地址>
为特定主机和端口对提供自定义地址。
--limit-rate <速度>
指定您希望 curl 使用的最大传输速率。
--max-redirs <数量>
设置可以遵循的最大重定向数。
--noproxy <无代理列表>
不使用代理的主机的逗号分隔列表(如果已指定)。

24.3 警告

当您输入的命令被忽略或包含警告内容时,我们将在 HTTP 请求的注释部分显示警告。

图 1 - 警告
图 1 - 警告

24.4 示例

使用 cookie

curl -X POST  "https://example.invalid" -b 'username=Tom;password=123456'

使用数据

curl -X POST  "https://example.invalid" --data 'fname=a&lname=b'

使用表格

curl -X POST  "https://example.invalid" -F 'lname=a'  -F 'fname=b' -F 'c=@C:\Test\test.txt'

使用代理服务器

curl 'https://example.invalid/' -x 'https://aa:bb@proxy.invalid:8042'

使用授权

curl "https://example.invalid" -u 'user:passwd' --basic

使用 DNS

curl "https://example.invalid" --dns-servers '0.0.0.0,1.1.1.1'

Go to top