编辑
2023-11-22
后端
00
请注意,本文编写于 535 天前,最后修改于 535 天前,其中某些信息可能已经过时。

Curl 是一个常用的命令以下是关于Curl及其参数的教程:

Curl 是一个常用的命令行数据传输工具,可以方便地从命令行创建网络请求。它支持众多协议,如 HTTP、HTTPS、FTP、FTPS、SFTP、IMAP、SMTP、POP3 等等,并提供了许多强大的功能,如 Cookie、用户密码验证、代理隧道、限速等。下面是一些常用的 Curl 参数及其用法:

  1. 发起一个 HTTP GET 请求: 当使用 curl 命令直接访问一个网址时,将发起一个 GET 请求,并返回响应体。[1]

    示例:

    curl https://www.example.com ```
  2. 重定向跟踪 (-L): 当请求一个 URL 返回 301 之类的重定向响应时,可以使用 -L 参数来自动重定向跟踪响应头里的 Location[1]

    示例:

    curl -L https://www.example.com ```
  3. 储存响应体到文件 (-o / -O): 使用 -o 参数指定文件名,可以将响应结果储存到文件中;使用 -O 参数直接用服务器上的文件名保存在本地。[1]

    示例:

    curl -o example.html https://www.example.com curl -O https://www.example.com/index.html ```
  4. 获取 HTTP 响应头 (-i / -I): 使用 -i 参数可以获取请求 URL 的响应头和响应体;使用 -I 参数只获取响应头。[1]

    示例:

curl -i https://www.example.com curl -I https://www.example.com
  1. 构造 GET 查询参数 (-G): 使用 -G 参数可以构造 URL 的查询字符串,将请求参数与请求 URL 拼接后发出请求。[1]

    示例:

curl -G -d 'q=example' https://www.google.com/search
  1. 改变 User Agent (-A): 使用 -A 参数可以改变请求的 User Agent,即用户代理,用于识别客户端的操作系统、浏览器等信息。[1]

    示例:

curl -A 'my-user-agent' https://www.example.com
  1. 添加 Referrer (-e): 使用 -e 参数可以设置请求的 Referer,表示请求的来源。[1]

    示例:

curl -e 'https://www.example.com' https://www.example.com
  1. 携带 Cookie 请求数据 (-b / -c): 使用 -b 参数向服务器发送 Cookie,可以直接接受 Cookie 字符串或者存储了 Cookie 的文件;使用 -c 参数将目标 URL 携带的 Cookie 写入到一个文件中。[1]

    示例:

curl -b 'foo=bar' https://www.example.com curl -b ./cookies.txt https://www.example.com curl -c cookies.txt https://www.example.com
  1. 添加 HTTP 请求头 (-H): 使用 -H key:value 的方式可以添加 HTTP 请求头,可以设置多个请求头。[1]

    示例:

curl -H 'Accept-Language: en-US' https://www.example.com curl -H 'User-Agent: my-user-agent' https://www.example.com
  1. 发送一个 HTTP POST 请求: 默认情况下,curl 发送的是 GET 请求,要发送 POST 请求,需要使用 -X POST 参数。[1]

    示例:

    curl -X POST https://www.example.com
  2. 更改 HTTP 请求方法 (-X): 使用 -X 参数可以更改 HTTP 请求方法,如 -X POST 发起 POST 请求,-X PUT 发起 PUT 请求。[1]

    示例:

    curl -X POST https://www.example.com
  3. 添加 POST 数据到请求中 (-d): 使用 -d 参数将 POST 数据添加到请求中,会自动加上标头 Content-Type: application/x-www-form-urlencoded,可以省略 -X POST。[1Curl 是一个常用的命令行数据传输工具,可以方便地从命令行创建网络请求。它支持众多协议,如 HTTP、HTTPS、FTP、FTPS、SFTP、IMAP、SMTP、POP3 等等。Curl 提供了很多强大的功能,可以用于进行 HTTP 请求、上传/下载文件等操作,还支持 Cookie、用户密码验证、代理隧道、限速等功能。下面是一些常用的 Curl 参数及其用法:

  4. 发起一个 HTTP GET 请求:

    • 使用 curl 命令直接访问一个网址时,将发起一个 GET 请求,然后返回响应体 [1].
    • 示例:curl https://www.example.com
  5. 重定向跟踪 (-L):

    • 当请求一个 URL 返回 301 之类的重定向响应时,可以使用 -L 参数来自动重定向跟踪响应头里的 Location [1].
    • 示例:curl -L https://www.example.com
  6. 储存响应体到文件 (-o / -O):

    • 使用 -o 参数指定文件名,可以将响应结果储存到文件中 [1].
    • 示例:curl -o example.html https://www.example.com
    • 使用 -O 参数直接用服务器上的文件名保存在本地 [1].
    • 示例:curl -O https://www.example.com/index.html
  7. 获取 HTTP 响应头 (-i / -I):

    • 使用 -i 参数可以查看请求 URL 的响应头和响应体 [1].
    • 示例:curl -i https://www.example.com
    • 如果只想获取响应头,可以使用 -I 参数 [1].
    • 示例:curl -I https://www.example.com
  8. 构造 GET 查询参数 (-G):

    • 在发起 GET 请求时,可以使用 -G 参数来构造 URL 的查询字符串 [1].
    • 示例:curl -G -d 'q=example' https://www.google.com/search
  9. 改变 User Agent (-A):

    • 使用 -A 参数可以改变请求的 User Agent,即用户代理 [1].
    • 示例:curl -A 'my-user-agent' https://www.example.com
  10. 添加 Referrer (-e):

    • 使用 -e 参数可以设置 HTTP 请求头的 Referer,表示请求的来源 [1].
    • 示例:curl -e 'https://www.example.com' https://www.example.com
  11. 携带 Cookie 请求数据 (-b / -c):

    • 使用 -b 参数向服务器发送 Cookie,可以直接接受 Cookie 字符串或者存储了 Cookie 的文件 [1].
    • 示例:curl -b 'foo=bar' https://www.example.com
    • 使用 -c 参数可以将目标 URL 携带的 Cookie 写入到一个文件中 [1].
    • 示例:curl -c cookies.txt https://www.example.com
  12. 添加 HTTP 请求头 (-H):

    • 使用 -H key:value 的方式可以添加 HTTP 请求头,可以设置多个请求头 [1].
    • 示例:curl -H 'Accept-Language: en-US' https://www.example.com
  13. 发送一个 HTTP POST 请求:

    • 默认情况下,curl 发送的是 GET 请求。要发送 POST 请求,需要使用 -X POST 参数 [1].
    • 示例:curl -X POST https://www.example.com

这些是 Curl 的一些常用参数及其用法,你可以根据需要选择合适的参数来进行网络请求和数据传输。


Learn more:

  1. Curl 使用指南 - 刘星的个人网站
  2. curl常用参数详解及示例 - 万猫学社 - 博客园
  3. curl命令使用教程 - EEBONDの博客

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!