curl的使用

本文在写作过程中借鉴了阮一峰的博客:curl 的用法指南


一、curl 简介

  1. cURL:全称 client URL,客户端 URL 工具。
  2. cURL 是一种常用的命令行工具,主要用来请求 Web 服务器,也可以用来下载文件。
  3. 一般情况下,Linux/Windows/Mac 系统都默认安装了 cURL 指令,所以我们可以直接使用。

二、使用指南

1️⃣. 发送各种方式的请求

-X参数指定 HTTP 请求的方法。

  1. 发送 GET 请求(不携带数据)

    curl www.example.com
  2. 发送 GET 请求(携带数据,借助 -G 和 -d )

    curl -G -d 'q=kitties' -d 'count=20' www.example.com
  3. 发送 POST 请求(不携带数据)

    curl -X POST www.example.com
  4. 发送 POST 请求(携带数据:借助 -d 参数)

    curl -X POST -d '{"user":"123","pass":"456"}' www.example.com

      另外,使用 -d 参数以后,HTTP 请求会自动加上标头 Content-Type : application/x-www-form-urlencoded,并且会自动将请求转为 POST 方法,因此可以省略-X POST。

    curl -d '{"user":"123","pass":"456"}' www.example.com
  5. 发送 PUT 请求

    curl -X PUT www.example.com
  6. 发送 DELETE 请求

    curl -X DELETE www.example.com

2️⃣. 下载文件

-O参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。

  1. 一般下载(默认路径 + 文件名):命令行处于哪一个目录,该指令就会将文件保存在哪。

    curl -O www.example.com/123

  2. 进阶下载(指定下载路径 + 文件名):借助小写的-o参数,这里注意小写的 -o 要在前面。

    curl -o ./download/myIndex.html -O www.example.com
  3. 断点续传( -C - 标识续传)

    curl -C - -o ./download/myIndex.html -O www.example.com

3️⃣. 上传文件

-F参数用来向服务器上传二进制文件。

  1. 一般上传:该命令会给 HTTP 请求加上标头 Content-Type: multipart/form-data ,然后将文件上传。

    curl -F 'file=@old.png' baidu.com
  2. 进阶上传:指定上传类型 + 重命名上传文件

    curl -F 'file=@old.png;type=image/png;filename=new.png' baidu.com

4️⃣. Header 信息

-H参数会在请求当中添加 Header 参数。

-I参数会打印服务器返回的 HEAD 信息。

  1. 单个请求头

    curl -H 'Accept-Language: en-US' www.example.com
  2. 多个请求头

    curl -H 'Accept-Language: zh-CN' -H 'accept: text/html' www.example.com
  3. 设置 Referer 标头(用来规避一些网站的防盗链设置)

    curl -H 'Referer: baidu.com' www.example.com
  4. 打印服务器返回的 HEAD 信息

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

5️⃣. Cookie 管理

-c参数保存服务器发送回来的 Cookie。

-b参数向服务器发送 Cookie。

  1. 保存服务器返回的 Cookie 信息:命令行处于哪一个目录,Cookie文件就会保存在哪。

    curl -c cookie.txt baidu.com
  2. 向服务器发送 Cookie :

    curl -b 'name=123&pass=456' baidu.com

    或者

    # 直接读取本地文件中的 Cookie 信息
    curl -b cookie.txt baidu.com

6️⃣. 其他使用情况

  1. -k参数指定跳过 SSL 检测。

    curl -k https://www.example.com
  2. -L参数让 HTTP 请求跟随服务器的重定向(curl 默认不跟随重定向)。

    curl -L baidu.com
  3. --limit-rate参数限制访问速度,可作下载限速(默认单位是“字节”)。

    curl --limit-rate 2048 -O baidu.com
  4. -u参数用来设置服务器认证的用户名和密码。

    curl -u 'admin:123456' baidu.com

    ​ 上面命令设置用户名为 admin ,密码为 123456 ,然后自动为其加上 HTTP 标头 Authorization: Basic … 。

  5. -v参数输出通信的整个过程,用于调试。

    curl -v www.example.com
posted @   ThinkStu  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示