将 curl 转换为 HTTP

curl2code 将 curl 命令转换为原始 HTTP 请求格式。转换过程通过 WebAssembly 在您的浏览器中运行,以确保完全的隐私。对于 HAR 格式,请查看我们的 curl 转 HAR 转换器。对于 HTTPie,请参阅 curl 转 HTTPie。下方是实用的 HTTP 请求示例。

如何从浏览器复制 curl

  1. 1

    打开开发者工具

    F12Ctrl+Shift+I 打开浏览器开发者工具。

  2. 2

    进入 Network 标签页

    点击 Network (网络) 标签页,并执行触发 HTTP 请求的操作。

  3. 3

    复制为 cURL

    右键点击请求 → Copy (复制) → Copy as cURL (复制为 cURL)。然后将其粘贴到上方。

常见问题解答

什么是原始 HTTP 格式?

原始 HTTP 显示了通过网络发送的实际协议文本:请求行 (GET /path HTTP/1.1)、标头和主体。它是 RFC 9110 中定义的规范表示。curl2code 生成原始 HTTP 请求格式,这对于在协议级别准确理解 curl 命令的作用非常有用。

原始 HTTP vs HAR vs HTTPie — 该选择哪种格式?

原始 HTTP 显示精确的协议表示 —— 最适合学习和文档。HAR 是为工具设计的 JSON 结构。HTTPie 是一种对人类友好的 CLI 语法。理解协议请选择原始 HTTP,分析请选择 HAR,脚本请选择 HTTPie。另请参阅 curl 转 HARcurl 转 HTTPie

身份验证在原始 HTTP 中是什么样的?

身份验证显示为标头行:Authorization: Bearer token123Authorization: Basic dXNlcjpwYXNz。在原始 HTTP 中,你可以看到发送的确切标头 —— 从而轻松验证认证配置是否正确。curl2code 显示包含认证标头的完整请求。

表单数据在原始 HTTP 中是什么样的?

多部分表单数据会显示边界,每个部分都有自己的 Content-Disposition 和 Content-Type 标头,由边界字符串分隔。Content-Type 标头包含 multipart/form-data; boundary=...。原始 HTTP 揭示了库所抽象掉的确切结构。

HTTP 错误是如何表示的?

响应状态行显示代码:HTTP/1.1 404 Not FoundHTTP/1.1 500 Internal Server Error。响应标头可能包含用于速率限制的 Retry-After 或用于认证挑战的 WWW-Authenticate。理解原始 HTTP 有助于调试任何编程语言中的问题。

HTTP 版本之间有什么区别?

HTTP/1.1 使用基于文本的标头,每个连接一个请求(带有 keep-alive)。HTTP/2 在单个二进制连接上多路复用请求。HTTP/3 使用 QUIC(基于 UDP)以实现更快的连接建立。curl 通过 --http2--http3 标志支持这三种版本。

常见的 HTTP 状态码是什么意思?

200 OK,201 Created,204 No Content —— 成功。301/302 重定向。400 Bad Request,401 Unauthorized,403 Forbidden,404 Not Found —— 客户端错误。500 Internal Server Error,502 Bad Gateway,503 Service Unavailable —— 服务器错误。429 Too Many Requests —— 触发速率限制。

如何使用原始 HTTP 进行调试?

将 curl2code 的原始 HTTP 输出与实际网络流量进行比较(使用 curl -v 获取详细输出)。检查标头、Content-Type、主体编码和 Content-Length 是否符合预期。mitmproxy、Wireshark 和 Fiddler 等工具可以显示任何客户端的原始 HTTP。对于 CLI 调试,请参阅 curl 转 HTTPie

如何在原始 HTTP 中表示带有 JSON 正文的 POST 请求?

使用 curl 的 -X POST -d '{"key":"value"}' -H "Content-Type: application/json",curl2code 将其转换为原始 HTTP 格式:POST /api/data HTTP/1.1 Content-Type: application/json {'key':'value'}。JSON 正文和 Content-Type 请求头在输出中得以保留。curl2code 可以处理内联 JSON 和 @file.json 引用。

如何在原始 HTTP 中包含 Bearer 令牌授权?

当您使用 curl2code 转换 curl -H "Authorization: Bearer YOUR_TOKEN" URL 时,Bearer 令牌会保留在原始 HTTP 输出中:Authorization: Bearer YOUR_TOKEN-H "Authorization: Bearer ..." 和 OAuth 令牌标志都会被自动检测。

Content-Type 在原始 HTTP 格式中是如何表示的?

在转换 curl -H "Content-Type: application/json" URL 时,curl2code 在原始 HTTP 中输出 Content-Type 为:Content-Type: application/json。常见类型包括 application/jsonapplication/x-www-form-urlencodedmultipart/form-data。curl2code 保留原始 curl 命令中的确切 Content-Type。

有用链接

curl 指南

将 curl 转换为其他语言