你是否曾为了测试一个 API 而苦恼,或是想快速检查一个网页的内容?好消息,cURL 可能正是你需要的工具。简单地说,cURL 是一个强大的命令行工具,它允许我们通过各种协议与服务器进行交互。不管你是一位新手程序员还是一个经验丰富的开发者,cURL 都是你工具箱中不可或缺的一部分。

 

curl 是一种使用 URL 从服务器传输数据或向服务器传输数据的工具。它支持以下协议:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET、TFTP、WS 和 WSS。几乎可以满足所有网络请求的需要,一般情况下使用电脑自带的命令行工具就可以测试 cURL 命令,比如在 Windows 中点击“Win + R”,然后输入cmd后打开命令行工具,然后输入 cURL 命令(如curl https://apifox.com)并按“Enter”回车键,就会给你返回响应数据。

curl参数
-o/--output:指定输出文件的名称,用于下载文件时保存到指定位置。
-O/--remote-name:根据URL中的文件名部分来保存文件,这在下载时特别有用。
-T/--upload-file:上传文件时使用,指定要上传的本地文件。
-e/--referer:设置HTTP Referer头部,用于伪造来源页面或进行盗链。
-A/--user-agent:设置User-Agent字符串,模仿浏览器或其他客户端。
-X/--request:指定HTTP请求方法,如GET、POST等。
-d/--data:发送HTTP POST请求时,附带的数据。
-b/--cookie:设置Cookie字符串,用于处理会话。
-s/--silent:静默模式,不显示进度和错误信息。
-S/--show-error:显示错误信息,即使使用了-s选项。
-L/--location:跟随重定向,如果请求的页面被移动了,这个选项会让curl重新定向到新的地址。
-i/--include:在输出中包含HTTP响应头。
-v/--verbose:详细模式,显示所有通信过程。
-H/--header:自定义HTTP头部信息。
--trace:跟踪请求的所有步骤,用于调试。
--limit-rate:限制数据传输速率。
--connect-timeout:设置连接超时时间。

Windows运行cURLWindows运行cURL命令

 

常用 cURL 命令

 

让我们来看看 cURL 的一些常用命令及其使用场景。

1. 获取网页内容

使用curl [URL]命令获取网页内容,示例如下:

curl https://apifox.com

这个命令会显示https://apifox.com网页的 HTML 内容。

2. 发送 GET 请求

使用curl -X GET [URL]发送 GET 请求。

curl -X GET https://apifox.com

这条命令使用 GET 方法向https://apifox.com发起请求,通常用于请求查询信息。

 

 

3. 发送 POST 请求

使用curl -X POST -d "data" [URL]发送 POST 请求。

curl -X POST -d "param1=value1&param2=value2" https://apifox.com/login

使用 POST 方法提交数据,常用于表单提交。



4. 上传文件

使用curl -F "file=@[file_path]" [URL]上传文件。

curl -F "file=@path/to/local/file" https://apifox.com/upload

这条命令可以上传文件到指定的服务器地址。

 

5. 下载文件

使用curl -O [URL]下载文件。

curl -o filename https://apifox.com/file

这个命令将远程文件下载并保存为本地的 filename。

 

6. 设置请求头

使用curl -H "Header: Value" [URL]设置请求头。

curl -H "Content-Type: application/json" https://apifox.com

通过这条命令加入自定义的请求头,非常有用,比如指定内容类型为 JSON。

 

7. 保存和使用 Cookies

保存会话 Cookies:curl -c cookies.txt [URL]

curl -c cookies.txt https://apifox.com

这个命令可以在访问网站时保存 session Cookies 到本地文件。

 

8. 重定向处理

自动处理重定向:curl -L [URL],检查重定向链接:curl -i [URL]

curl -L https://apifox.com

如果遇到重定向,这个命令会自动追踪到新的位置。

 

9. 设置超时时间

设置连接和响应超时:curl --connect-timeout [seconds] --max-time [seconds] [URL]

curl -m 10 https://apifox.com

设置最大传输时间为 10 秒,防止过长时间等待。

 

参考:

1、https://blog.csdn.net/jg_csdn/article/details/137783833

2、https://zhuanlan.zhihu.com/p/636354503

3、https://blog.csdn.net/angle_chen123/article/details/120675472

 

posted on 2024-09-11 16:17  ygunoil  阅读(83)  评论(0编辑  收藏  举报