cURL 转代码

cURL 转代码,是指把一条 curl 命令翻译成各语言里等价的 HTTP 请求代码。本工具免费、无需注册:粘贴 curl 命令或浏览器「复制为 cURL」的结果,自动识别 bash 与 Windows 写法,解析出方法、请求头与请求体,再生成 fetch、axios、Python requests、Go、PHP 等九种写法,凭据默认换成环境变量占位。全程在浏览器本地解析,请求内容不上传。

解析与生成全在你的浏览器本地完成,请求内容不上传,输入框内容刷新即清空;本工具也不会替你把这条请求发出去。

已按 bash(macOS / Linux) 解析

解析出来的请求结构

请求方法
POST
请求地址
https://api.example.com/v1/orders?page=2&size=20
查询参数
  • page = 2
  • size = 20
请求头(4
  • accept: application/json
  • content-type: application/json
  • cookie: sid=demo-session-not-a-real-token
  • user-agent: Mozilla/5.0
认证
请求体
原始文本(28 字符)
其他选项
跟随重定向:否(curl 默认)
浏览器 / Node.js 18+
// 由 curl 命令翻译而来:这是等价的常见写法,不是逐位等价。
const res = await fetch('https://api.example.com/v1/orders?page=2&size=20', {
  method: 'POST',
  headers: {
    'accept': 'application/json',
    'content-type': 'application/json',
    // 这个头由浏览器接管,写了也会被忽略
    'cookie': process.env.COOKIE,
    'user-agent': 'Mozilla/5.0',
  },
  body: JSON.stringify({
    "note": "示例订单",
    "amount": 128
  }),
  // curl 不加 -L 不跟随重定向;fetch 默认跟随,这里显式关掉
  redirect: 'manual',
});
const data = await res.text();
console.log(res.status, data);

已把 1 处凭据换成环境变量占位(cookie → COOKIE),别把真实 Token 提交进仓库;想看原值就取消勾选上面的「凭据换成环境变量占位」。

转换体检(共 28 条规则)

  • 提示 · 命令里没有 -X,因为带请求体,已按 POST 生成。
  • 注意 · cookie 等请求头由浏览器接管,写在 JavaScript fetch 里会被忽略。
  • 提示 · 命令里的凭据已换成环境变量占位,别把真实 Token 提交进仓库。
  • 提示 · curl 不加 -L 不跟随重定向,而 JavaScript fetch 默认跟随,已显式关掉以对齐原命令。
  • 版本口径:浏览器 / Node.js 18+。
  • 浏览器里还要受同源策略约束:curl 能跑通不代表 fetch 能跑通。

如何使用cURL 转代码

1

在浏览器开发者工具的网络面板右键那条请求、选「复制为 cURL」(Chrome 复制为 curl 的 bash 版最稳),或者直接粘一条手写的 curl 命令。

2

核对识别出来的命令写法、请求方法、请求头与请求体,顺手看一眼右边的转换体检:浏览器设不上的头、重定向默认值差异都会当场标出来。

3

切到 fetch、axios、Python requests 等目标语言(curl 转 js 与 Python 各一键),点「复制代码」或下载对应扩展名的文件,粘进你的项目。

关于cURL 转代码的常见问题

cURL 转代码会上传我的请求内容吗?
不会上传。分词、解析、体检与九种写法的生成全部在你的浏览器本地完成,你粘进来的地址、Cookie 与 Token 不会发送到任何服务器,刷新页面即清空,只有目标语言、缩进这类展示偏好会记在本机。也正因为如此,本工具没有也不会有「试跑一下」按钮:要真的把请求发出去就得由服务器代理转发,那等于把你的凭据送到我们这里。(站点自身仅有匿名访问量统计,与你粘的内容无关。)
手机上能用 cURL 转代码工具吗?
可以,也不用装任何 App 或插件。cURL 转代码是纯网页实现,手机、平板、电脑浏览器打开即用。九个目标语言的标签条和代码区都可以横向滚动,请求结构在窄屏上会改成上下堆叠,复制按钮走系统剪贴板,转完直接粘到你的编辑器或聊天窗口里。剪贴板不可用时会提示你手动选中代码,不会静默失败。
Chrome 里复制的 curl 命令怎么转成 fetch?
在 Chrome 开发者工具的 Network 面板里右键那条请求,选 Copy → Copy as cURL,把结果粘进本页的输入框,再切到 JavaScript fetch 标签就能拿到代码。要注意从浏览器复制出来的命令里带着一大堆 Cookie、Origin、Sec- 开头的头,这些在 fetch 里是设不上的,本工具会逐条标出来但不替你删;Cookie 想带上得改用 credentials 选项,并且跨域还要服务端放行。
curl 转 Python 用 requests 还是 httpx?
curl 转 Python 代码时两个标签都给,按项目来选:requests 用得更广、同步为主;httpx 支持 async 且接口与 requests 很像。真正要留神的是重定向默认值——requests 默认跟随、httpx 默认不跟随,正好相反。curl 不加 -L 时是不跟随的,所以本工具在 requests 那边会显式写出 allow_redirects=False,在 httpx 那边则什么都不写;反过来加了 -L 才会给 httpx 写 follow_redirects=True。
curl -X POST 转代码怎么写?
多数时候你不用写 -X。curl 只要带了 -d、--data-raw 或 -F 就默认发 POST,本工具按同一规则推断方法,并在体检里注明是因为带请求体才按 POST 生成;带 -I 按 HEAD,带 -T 按 PUT,都不带就是 GET。显式写了 -X 就以它为准,-X 与 -I 同时出现时也听 -X 的。有个坑:-X GET 配 -d 时 curl 照样把请求体发出去,本工具也照原样保留,但浏览器的 fetch 不允许 GET 带 body,这种命令转成 fetch 后要自己改。
curl -m 超时转代码后各语言怎么写?
按各语言自己的单位换算,不做四舍五入以外的改动。以 curl -m 2.5 为例:Python requests 与 httpx 都是 timeout=2.5,axios 与 Node.js 是 timeout: 2500,Go 是 2500 * time.Millisecond,PHP 是 CURLOPT_TIMEOUT_MS => 2500,Java 是 Duration.ofMillis(2500),所以半秒不会被截掉。fetch 没有超时参数,本工具补的是 AbortSignal.timeout(2500)。另外 -m 管整体、--connect-timeout 只管建连,在 PHP 与 Java 里是两个不同的参数,别混用。
curl -d 和 --data-raw 转出来的代码一样吗?
不一定一样。-d 会把值里的换行剥掉,而且值以 @ 开头时会被当成文件名去读;--data-raw 不解释 @,一律当字面量;--data-binary 认 @ 但不剥换行;--data-urlencode 会先做 URL 编码。所以同样一段带换行的 JSON,-d 转出来的请求体是没有换行的那一版。多个 -d 会按 curl 的语义用 & 连起来。浏览器复制出来的命令用的都是 --data-raw,粘过来最省心。
Windows curl 单引号报错怎么办?
这是最常见的一类问题:macOS 与 Linux 上复制出来的 curl 用单引号包裹参数,而 Windows 命令行根本不认单引号,会把引号连同内容一起当作地址的一部分,于是报错或者请求发歪。两个办法:一是在开发者工具里改选 Copy as cURL (cmd),二是把 bash 版粘进本页,切到「cURL 命令规范化」标签并选 Windows cmd 风格,直接拿到一条能在 cmd 里跑的等价命令。
curl 转 fetch 之后为什么跨域或 Cookie 没带上?
curl 不受同源策略约束,浏览器里的 fetch 受。命令在终端里跑得通,不代表同一个请求在网页里也能发出去:跨域要服务端返回对应的 CORS 响应头才行,这不是转换工具能替你解决的。Cookie 则是另一回事——它由浏览器接管,写在 headers 里会被静默丢弃,同源请求要改用 credentials 选项让浏览器自己带上。本页的「浏览器里设不上的请求头」表把这些逐条列了出来。
curl -u 的用户名密码会明文写进代码吗?
默认不会。本工具默认把 Cookie、Authorization、X-Api-Key 这类凭据以及 -u 的密码换成环境变量读法,各语言分别是 process.env、os.environ、os.Getenv、getenv 与 System.getenv,界面上会明确列出替换了哪几处。想看原值就取消勾选「凭据换成环境变量占位」。另外 Basic 认证优先用目标语言自带的 auth 参数,只有 fetch、Go、Java 这类没有现成参数的才会现算 Base64,按 UTF-8 编码,中文用户名密码也不会出错——不过占位开着时连 Base64 都不算,这三种写法改成从 BASIC_AUTH_PASSWORD_BASIC 读整串 Basic 值。
cURL 转代码支持 -F 上传文件吗?
支持解析,但只能给到读文件的骨架。curl -F 上传文件的三种形态都认:name=value 是字面值、name=@path 是上传文件、用小于号引导的那种是取文件内容当字段值,;type= 与 ;filename= 也会解析出来。要说清楚的是,本工具跑在你的浏览器里,读不到你磁盘上的文件,所以生成的是「怎么读这个文件」的代码而不是文件内容;multipart 的分隔串也不复刻,交给目标语言的库自己生成。
curl -k 和 curl --compressed 转代码后去哪了?
-k 是跳过证书校验:Python 那边对应 verify=False、PHP 对应 CURLOPT_SSL_VERIFYPEER、Go 走 InsecureSkipVerify,而浏览器 fetch 压根没有对应物,只能给一条说明。curl --compressed 是请求压缩响应并自动解压,多数客户端默认就会做,所以本工具不会手写 Accept-Encoding——在 Go 里手动设这个头反而会关掉自动解压。两者都会在体检里各留一条提示,不静默丢掉。
cURL 转代码支持哪些语言?能转 Go 和 PHP 吗?
一共九种写法:JavaScript fetch、axios、Node.js 原生 https、Python requests、Python httpx、Go net/http、PHP cURL、Java HttpClient,外加一个 cURL 命令规范化(可切三种引号风格)。Go 和 PHP 都在其中。九个标签渲染的是同一份请求模型,不会出现某个标签少一个请求头的情况;版本口径分别标在每种写法旁边,数据表复核于 2026-08-30。
PowerShell curl 转代码支持吗?
不支持,而且是刻意不支持。Invoke-WebRequest 的参数模型与 curl 差异很大,硬猜出来的代码会错得很隐蔽——看着像对的,实际把请求体或请求头弄丢了。所以识别到它时本工具只给一句指引:回开发者工具里改选 Copy as cURL (bash) 再粘过来。PowerShell 里用 curl.exe 写的真 curl 命令是支持的,反引号续行也认。

curl 命令转换的九种目标写法一览

本工具支持的九种目标写法是:JavaScript fetch、axios、Node.js 原生 https、Python requests、Python httpx、Go net/http、PHP cURL、Java HttpClient、cURL 命令规范化

这件事在中文里有好几种叫法:curl 转 fetch、curl 转 python、curl 转 go、curl 转 php、curl 转 java,说的都是同一件事——把一条 curl 命令翻译成某种语言里等价的 HTTP 请求代码;英文站点上的 curl converter、curl to fetch、curl to python、curl to axios、curl to go 找的也是这类工具。cURL 转代码在线就能用,不必装插件、不必注册。下表是这九种写法各自的版本口径与关键映射,数据取自本站数据表,页面不手写第二份。

九种目标写法的语言、版本口径与关键映射
写法语言版本口径关键映射
JavaScript fetchJavaScript浏览器 / Node.js 18+fetch(url, { method, headers, body });-k 在浏览器里没有对应物,只能给出说明
axiosJavaScriptaxios 1.xaxios({ method, url, headers, data, params, auth, timeout, maxRedirects }),curl 转 axios 用原生 auth 参数而非手拼 Base64
Node.js 原生 httpsJavaScriptNode.js 18+https.request(options, cb) + req.write(body),curl 转 node.js 时给不能用 fetch 的老项目
Python requestsPythonrequests 2.xrequests.request(method, url, headers=, data=/json=/files=, auth=, timeout=, verify=, allow_redirects=)
Python httpxPythonhttpx 0.27+httpx.request(...),follow_redirects 的默认值与 requests 相反,见重定向对照表
Go net/httpGoGo 1.21+http.NewRequest + req.Header.Set;Host 头必须写 req.Host,Header.Set("Host") 不生效
PHP cURLPHPPHP 8 + ext-curlcurl_setopt_array($ch, [...]),固定带上 CURLOPT_RETURNTRANSFER
Java HttpClientJavaJava 11+HttpRequest.newBuilder();JDK 受限头不写进 builder,改用注释说明
cURL 命令规范化Shellcurl 7.82+(--json 需要这个版本)curl 命令格式化:整理成多行等价写法,可切 bash / Windows cmd / PowerShell 三种引号风格

九个标签渲染的是同一份请求模型:解析只做一次,切标签只重渲染,不会出现某个标签少一个请求头的情况。生成的是等价的常见写法,不是逐位等价——连接复用、cookie jar、重试策略、客户端证书这些在各语言里没有一一对应,缺的一律列进说明,不静默丢。

三种「复制为 cURL」写法差在哪

Chrome 复制为 curl 时其实有三个下拉选项,copy as curl 出来的东西在 macOS、Windows cmd 与 PowerShell 下形态完全不同。把 bash 版直接粘进 cmd,就是 Windows curl 单引号报错的根源:cmd 不认单引号,会把引号和内容一起当成地址。本工具会自动识别写法并在界面上写明「已按某某写法解析」,判错了也能手动切。

Chrome / Edge 三种 Copy as cURL 产物的引号、续行符与常见坑
写法从哪儿复制引号规则续行符最容易踩的坑
bashChrome / Edge / Firefox 的 Copy as cURL(macOS 与 Linux 默认)单引号包裹,引号内一切字面;非 ASCII 走 $'\xNN' 字节转义行尾反斜杠直接粘进 Windows cmd 会报错:cmd 不认单引号,会把整串当成地址的一部分
cmdWindows 版 Chrome / Edge 的 Copy as cURL (cmd)双引号包裹,内部双引号写成 \",百分号要写成 %%行尾脱字符 ^粘进 bash 里,双引号内的 $ 会被 shell 展开成变量,Token 可能被吃掉
powershellWindows 版 Chrome / Edge 的 Copy as cURL (PowerShell)单引号里两个 '' 表示一个单引号;双引号里用反引号转义行尾反引号旧版 PowerShell 里 curl 是 Invoke-WebRequest 的别名,得写 curl.exe 才是真的 curl

bash 版还会把非 ASCII 字符写成 $'\xNN' 的字节转义(例如中文会变成三个 \x 开头的字节),本工具按 UTF-8 拼回原文;遇到不是合法 UTF-8 的字节序列时原样保留并给出说明,不猜测。

重定向与超时默认值对照表

这是本工具最要紧的一条正确性:curl 不加 -L 是不跟随重定向的,而各语言的默认值五花八门。不显式补齐差异,转出来的代码就和原命令行为不一样,而且不会报错——它会安静地跟到最终地址,你拿到的是另一个响应、另一个状态码。

curl 与各语言客户端的重定向默认值,以及本工具怎么补齐差异
客户端默认跟随重定向本工具的处理
curl(不加 -L)不跟随这是原命令的行为,下面几行都要向它对齐
JavaScript fetch跟随不跟随时写 redirect: "manual",浏览器里会拿到一个不可读的 opaqueredirect 响应
axios 1.x跟随不跟随时写 maxRedirects: 0(浏览器环境由 XHR 接管,改不了)
Node.js 原生 https不跟随本来就不跟随,加了 -L 才需要自己按 Location 再发一次
Python requests 2.x跟随curl 转 requests 时不跟随必须显式写 allow_redirects=False
Python httpx 0.27+不跟随curl 转 httpx 与 requests 相反,只有 -L 才写 follow_redirects=True
Go net/http跟随默认最多跟 10 跳,不跟随要写 CheckRedirect 返回 ErrUseLastResponse
PHP cURL不跟随CURLOPT_FOLLOWLOCATION 默认关,与 curl 命令一致
Java HttpClient不跟随默认 Redirect.NEVER,加了 -L 才写 Redirect.NORMAL

curl -L 重定向本身只是一个开关,麻烦的是各语言默认值不一致。本工具的做法是只在默认值与原命令相反时才补一行开关:默认跟随的目标遇上没有 -L 的命令,就显式关掉;默认本来就不跟随的(比如 Node.js 原生 https、PHP cURL),则写一条注释说明为什么这里什么都不用写——省得你以为工具漏了。curl -m 超时要当心的是单位:-m 允许小数秒,Python 用秒、axios 与 Node.js 用毫秒、Go 与 Java 用 Duration、PHP 用毫秒,本工具按各自单位换算后写进代码。

浏览器里设不上的请求头清单

从开发者工具复制出来的命令必然带着一堆浏览器自己加的头。它们在 fetch 里是写不进去的:规范把这些列为受浏览器接管的请求头,写了会被静默丢弃。本工具照旧把它们输出出来(删不删是你的决定),但会逐条标出。curl 转 fetch 跨域前先看这一条:能不能跨域取决于服务端的 CORS 响应头,不是改请求头能解决的。

浏览器接管的常见请求头、原因与建议(复核于 2026-08-30)
请求头为什么设不上该怎么办
Cookie由浏览器的 Cookie 存储接管同源请求改用 credentials: "include",跨域还要服务端放行
Host由目标地址决定,脚本不能改改地址而不是改头;服务端侧可用 Go 的 req.Host
Origin由浏览器按页面来源自动填跨域是否放行取决于服务端的 CORS 响应头
Referer由浏览器按导航来源自动填需要控制时用 referrerPolicy 而不是写头
Connection属逐跳首部,由浏览器连接管理接管删掉即可,不影响请求语义
Content-Length由浏览器按请求体自动计算删掉即可,写了也会被覆盖
Accept-Encoding由浏览器接管并负责自动解压删掉即可,手写反而可能拿到未解压的响应
Sec-Fetch-ModeSec- 前缀的头一律由浏览器控制删掉即可,从开发者工具复制的命令里很常见
Sec-Fetch-SiteSec- 前缀的头一律由浏览器控制删掉即可
Sec-Fetch-DestSec- 前缀的头一律由浏览器控制删掉即可

User-Agent 是否可改随浏览器与版本而定,本工具照旧输出,不替你断言它一定生效或一定被丢弃。

curl 常用选项速查:-d、-H、-u 是什么意思

下表是本工具做 curl 命令解析时真正认识的选项,页面和解析器读的是同一张表,不存在「表里写着支持、实际没解析」的情况。另有 23 个认识但没有通用对应物的选项(代理、客户端证书、重试、HTTP 版本等),它们不会被静默吞掉,而是集中列进转换体检。

curl 常用选项、含义与本工具的映射(共 25 项完整或部分支持)
选项含义本工具怎么映射支持程度
--url显式指定请求地址当作 URL 操作数完整支持
-X, --request指定请求方法直接作为方法,优先级最高完整支持
-I, --head只取响应头推断为 HEAD(-X 存在时让位给 -X)完整支持
-G, --get把请求体挪到 URL 查询串强制 GET 并把 -d 的内容拼到 query 上完整支持
-H, --header添加请求头(curl -H 怎么写:X-Name: value)保序收集;`X:` 是删头、`X;` 是发空头完整支持
-A, --user-agent设置 User-Agent产出一条 implied 的 User-Agent 头完整支持
-e, --referer设置 Referer产出一条 implied 的 Referer 头完整支持
-b, --cookie发送 Cookie,或指定 cookie 文件含 = 时产出 Cookie 头;不含 = 时按 cookie 文件给警告部分支持
-d, --datacurl -d 是什么意思:发送请求体,认 @文件 且会剥掉换行多个 -d 用 & 连接;@file 生成读文件骨架完整支持
--data-ascii与 -d 等价同 -d完整支持
--data-raw发送请求体,**不**把 @ 当文件原样当字面量,浏览器复制出来的命令用的就是它完整支持
--data-binary发送请求体,认 @文件 但不剥换行原样保留换行完整支持
--data-urlencode先做 URL 编码再发送按 content / =content / name=content / @file / name@file 五种形态处理完整支持
--json等价于 --data-binary 加两个 JSON 头(需 curl 7.82+)请求体 + implied Content-Type 与 Accept完整支持
-F, --formmultipart 表单,认 @上传文件 与 <取文件内容拆成表单项,boundary 交给目标语言的库完整支持
--form-stringmultipart 表单项,不解释 @ 与 <一律当字面值完整支持
-T, --upload-file上传文件(默认 PUT)生成读文件骨架并推断为 PUT部分支持
-u, --usercurl -u 用户名密码:Basic 认证优先用目标语言的 auth 参数,没有现成参数的才拼 Authorization完整支持
--oauth2-bearerBearer Token 认证产出 Authorization: Bearer完整支持
-L, --location跟随重定向(不写就是不跟随)按目标语言的默认值反向补齐,见重定向对照表完整支持
--max-redirs最大重定向跳数axios 的 maxRedirects / Go 的 CheckRedirect 跳数完整支持
-m, --max-time整体超时秒数(允许小数)按各语言的单位换算,Java / Go 用 Duration完整支持
--connect-timeout建连超时秒数Java 的 connectTimeout / PHP 的 CURLOPT_CONNECTTIMEOUT_MS完整支持
-k, --insecurecurl -k 是什么意思:跳过证书校验requests 的 verify=False、PHP 的 SSL_VERIFYPEER;浏览器 fetch 没有对应物部分支持
--compressed请求压缩响应并自动解压多数语言自动处理,只给说明,不手写 Accept-Encoding部分支持

转换体检覆盖的 28 条规则

转换体检是生成代码的同时顺带跑的一遍静态检查:按下表 28 条规则,把「curl 能做而目标语言做不到」以及「两边默认值不一样」的地方逐条标出来,分阻断生成、注意、提示三级。它只解释差异、给出改法,不替你改写命令,也不判断这条请求能不能跑通。

转换体检规则表(共 28 条,页面与工具用的是同一份数据)
级别判据说明
阻断生成命令太长粘贴的内容超过了本工具的字符上限,请只保留一条 curl 命令。
阻断生成不像一条 curl 命令首词既不是 curl,整串也不像一个网址,无法解析。
阻断生成PowerShell 的 Invoke-WebRequest 写法Invoke-WebRequest 与 curl 的写法差异过大,硬猜会错得很隐蔽,请改用 Copy as cURL (bash)。
阻断生成引号没有闭合命令里有一个引号没有闭合,本工具不猜测替你补上,只给出出错位置。
阻断生成没找到请求地址命令里没有可用的 URL 操作数,也没有 --url。
阻断生成请求地址不是 http/httpsjavascript:、data: 这类协议不是 HTTP 请求,本工具不为它生成代码。
提示请求方法是推断出来的命令里没有 -X,方法按「-I 则 HEAD、有请求体则 POST、否则 GET」推断。
提示补齐了 Content-Typecurl 会为 -d / --json / -F 自动带上对应的 Content-Type,本工具把它显式写进代码。
提示显式请求头覆盖了隐含头你写的 -H 与某个选项隐含的同名头冲突,按 curl 的行为保留了显式那一条。
提示有请求头被删除-H 'X-Foo:'(冒号后为空)在 curl 里是「删除这个内部头」,因此代码里不会出现它。
注意-b 指向的是 cookie 文件-b 的值不含等号时是 cookie 文件名,代码里需要你自己加载它,本工具不生成读取逻辑。
注意粘进来的是多条命令检测到 ; && || | 或换行后的第二条 curl,只转换了第一条。
提示URL 没写协议curl 一般按 http:// 处理,建议显式写成 https://;本工具不替你改写地址。
注意URL 解析不出结构地址里可能有未编码字符或模板变量,已原样保留,查询参数无法拆分。
注意方言可能选错了命令的形态更像另一种写法(如 Windows 命令行),换个方言再看看解析结果。
提示请求体没有转成原生对象JSON 解析失败或存在重复键,已按原始字符串输出,避免替你改数据。
提示JSON 里有超出安全范围的数字转成原生对象会丢精度,已按原始字符串输出。
注意浏览器里设不上的请求头Cookie、Host、Origin 等由浏览器接管,写在 fetch 里会被静默丢弃,本工具照旧输出但逐条标出。
注意代码里带着明文凭据关闭凭据占位后,Cookie 与 Token 会明文出现在代码里,别把它提交进仓库。
提示凭据已换成环境变量占位命中的请求头值被换成了环境变量读法,界面上逐条列出,可一键切回原值。
注意关掉了证书校验-k 会让连接不再校验证书,仅用于自签名证书的本地调试;浏览器 fetch 没有对应物。
提示重定向默认值不一致curl 不加 -L 不跟随重定向,而 requests、fetch、Go 默认跟随,本工具会显式写出来。
注意有选项没能映射认识但没有通用对应物的选项集中列在这里,本工具不静默吞掉它们。
注意请求体来自本地文件本工具在浏览器里读不到你磁盘上的文件,生成的是读文件的骨架而不是文件内容。
注意代理没有翻译-x 指定的代理在各语言里写法差异很大,请按目标语言的文档自行配置。
提示HTTP 版本没有翻译协议版本通常由客户端与服务端协商,多数语言不提供逐次请求的强制开关。
注意客户端证书没有翻译--cert / --key / --cacert 涉及各语言的 TLS 配置,请按目标语言的文档自行设置。
提示--compressed 由库自动处理多数客户端默认就会协商压缩并自动解压,手写 Accept-Encoding 反而可能关掉自动解压。

全部通过时界面显示的是「未发现常见问题」,而不是一句「和 curl 一模一样」的保证——体检只覆盖上表这些已知差异,写法正确与请求能不能跑通是两回事。