curl常用选项介绍

curl 是一个强大的命令行工具,用于在客户端和服务器之间传输数据。它支持多种协议(如HTTP、HTTPS、FTP等),可以进行文件下载、上传以及执行各种网络请求。在使用 curl 时,掌握一些常用的选项可以帮助你更高效地完成任务。

基本用法

curl 的基本命令格式如下:

curl [选项] URL

例如:

curl http://example.com

这个命令会从 http://example.com 请求一个网页并打印响应内容到终端。

通用选项

-X, --request REQUEST

指定请求方法(GET、POST等)。默认为 GET。

curl -X POST https://api.example.com/submit

-H, --header HEADER

添加自定义的HTTP头部信息。可以多次使用来设置多个头部。

curl -H "Authorization: Bearer mytoken" -H "Content-Type: application/json" https://api.example.com/data

-d, --data DATA

发送数据到服务器,用于POST请求中的表单数据或JSON数据。可以通过 @ 从文件读取数据。

curl -X POST -d "key1=value1&key2=value2" https://example.com/submit

或者从文件中获取:

curl -X POST -d @data.json https://example.com/submit

-o, --output FILE

将响应内容保存到指定的文件,而不是打印在终端上。

curl -o output.txt http://example.com/file.txt

-O, --remote-name

自动为响应内容创建一个与远程文件同名的本地文件,并将其下载到当前目录。

curl -O https://example.com/somefile.zip

安全相关选项

-k, --insecure

忽略SSL证书验证。请注意,这会带来安全风险,请谨慎使用。

curl -k https://insecure-site.example.com

--cacert FILE

指定CA证书文件,用于在HTTPS连接中验证服务器的证书。

curl --cacert /path/to/cacert.pem https://example.com

会话和状态保持相关选项

-b, --cookie-jar FILE

保存或从Cookie文件读取。通常与 -c--cookie 一起使用,用于实现持久会话。

curl -c cookies.txt -b cookies.txt https://example.com/login

-c, --cookie FILE

将收到的Cookies写入指定文件,并在请求中包含先前从Cookie文件读取的内容。通常与 -b--cookie-jar 一起使用。

curl -c cookies.txt -b cookies.txt https://example.com/login

其他常用选项

--silent, -s

静默模式,不显示进度信息或错误信息(仅限响应内容)。

curl -s http://example.com > file.html

--verbose, -v

详细模式,输出所有交互过程中的详细信息。

curl -v https://example.com

--location, -L

自动重定向到服务器返回的新URL。

curl -L https://example.com/redirect

小结

以上介绍了 curl 命令的一些常用选项,这些选项覆盖了从基础的文件传输到复杂的HTTP请求等多个方面。掌握它们有助于提高使用效率和安全性。当然,curl 还有更多高级功能和选项可供探索,具体可以查阅官方文档以获得更多信息。