windows curl常见命令示例

curl 是一个强大的命令行工具,用于传输数据,支持多种协议,包括 HTTP、HTTPS、FTP 等。在 Windows 系统中,curl 的用法与 Linux/macOS 类似,但需要注意一些细节,特别是关于命令行参数的转义。

以下是一些常见的 Windows curl 命令示例:

基本GET请求

  • 获取网页内容并显示在终端:

    curl https://www.uuooo.com
    

    说明: 这是最基本的用法,curl 会发送一个 HTTP GET 请求,并将 https://www.uuooo.com 的 HTML 内容直接输出到命令提示符窗口。

  • 将网页内容保存到文件:

    curl -o mypage.html https://www.uuooo.com
    

    说明: -o (小写o) 选项用于将响应内容保存到指定的文件名 (mypage.html)。

  • 使用URL中的文件名保存内容:

    curl -O https://www.uuooo.com/index.html
    

    说明: -O (大写O) 选项会根据 URL 中指定的文件名 (index.html) 将响应内容保存到本地文件。如果 URL 末尾没有文件名,此命令可能无法成功。

查看HTTP头信息

  • 显示响应头和响应体:

    curl -i https://www.uuooo.com
    

    说明: -i 选项会显示服务器返回的HTTP响应头和响应体。

  • 仅显示响应头:

    curl -I https://www.uuooo.com
    

    说明: -I (大写i) 选项或 --head 选项只会发送一个 HEAD 请求,只获取并显示HTTP响应头,不下载页面内容,这对于检查网站状态或调试非常有用。

发送HTTP请求方法 (POST, PUT, DELETE等)

curl 默认使用 GET 方法。要指定其他 HTTP 方法,可以使用 -X 选项。

  • 发送POST请求(表单数据):

    curl -X POST -d "param1=value1&param2=value2" https://api.uuooo.com/resource
    

    说明: -X POST 指定请求方法为 POST。-d--data 选项用于发送请求体数据。在 Windows CMD 中,如果数据中包含特殊字符(如 &),可能需要用双引号 "" 将整个数据字符串括起来。

  • 发送POST请求(JSON数据):

    curl -X POST -H "Content-Type: application/json" -d "{\"key1\":\"value1\", \"key2\":\"value2\"}" https://api.uuooo.com/resource
    

    说明:

    • -H "Content-Type: application/json" 设置请求头,告知服务器发送的是 JSON 数据。
    • -d 后面的 JSON 字符串需要用双引号 "" 括起来。在 Windows CMD 中,JSON 字符串内部的双引号 " 需要用反斜杠 \ 进行转义,例如 \"
  • 发送PUT请求:

    curl -X PUT -d "updated_data" https://api.uuooo.com/resource/123
    

    说明: 用于更新服务器上的资源。

  • 发送DELETE请求:

    curl -X DELETE https://api.uuooo.com/resource/123
    

    说明: 用于删除服务器上的资源。

自定义请求头

  • 添加自定义请求头:
    curl -H "Authorization: Bearer YOUR_API_KEY" https://api.uuooo.com/data
    
    说明: -H--header 选项用于添加自定义的 HTTP 请求头。

处理重定向

  • 跟随HTTP重定向:
    curl -L http://www.uuooo.com/old-page
    
    说明: 默认情况下,curl 不会跟随 HTTP 3xx 重定向。-L 选项会指示 curl 自动跟随重定向直到最终目的地。

文件上传

  • 上传文件 (FTP示例):
    curl -u "username:password" -T "localfile.txt" ftp://ftp.uuooo.com/upload/
    
    说明:
    • -u "username:password" 用于指定认证凭据。
    • -T 选项用于上传文件。

下载大文件并恢复传输

  • 从中断处恢复下载:
    curl -O -C - https://download.uuooo.com/largefile.zip
    
    说明:
    • -C - 选项允许 curl 从中断的地方恢复下载。这在下载大文件时非常有用。
    • -O 选项用于保存文件到本地,文件名与远程文件相同。

显示详细信息

  • 显示详细的传输过程:
    curl -v https://www.uuooo.com
    
    说明: -v--verbose 选项会显示非常详细的传输信息,包括请求头、响应头、SSL/TLS 握手信息等,对于调试非常有用。

静默模式

  • 隐藏进度条和错误信息:
    curl -s https://www.uuooo.com
    
    说明: -s--silent 选项会使 curl 进入静默模式,不显示进度条或错误信息。通常与 -o 选项一起使用,只为了获取文件内容。

注意事项 (Windows特有)

  • 行延续符: 在 Unix/Linux/macOS 中,使用 \ 作为行延续符可以将一个长的 curl 命令分成多行。在 Windows CMD 中,你应该使用 ^ (脱字号) 作为行延续符。例如:

    curl -X POST ^
    -H "Content-Type: application/json" ^
    -d "{\"key\":\"value\"}" ^
    https://api.uuooo.com/resource
    

    注意: ^ 后面不能有空格,否则会转义空格而不是换行。

  • 路径分隔符: 在指定本地文件路径时,Windows 使用 \ 作为路径分隔符,而 curl 通常也支持 /。例如 C:\Users\username\file.txtC:/Users/username/file.txt

  • 引号的使用: 在 Windows CMD 中,对于包含空格或特殊字符的参数,通常需要使用双引号 "。对于 JSON 数据等需要内部转义双引号的情况,要格外小心。PowerShell 对引号和转义的处理可能与 CMD 不同。

这些示例涵盖了 curl 在 Windows 上最常见的用法。通过灵活运用这些命令和选项,你可以完成各种网络数据传输任务。

posted @ 2025-06-15 11:34  小祺先生  阅读(293)  评论(0)    收藏  举报