curl
是一个强大的命令行工具,用于在客户端和服务器之间传输数据。它支持多种协议(如HTTP、HTTPS、FTP等),可以进行文件下载、上传以及执行各种网络请求。在使用 curl
时,掌握一些常用的选项可以帮助你更高效地完成任务。
curl
的基本命令格式如下:
curl [选项] URL
例如:
curl http://example.com
这个命令会从 http://example.com
请求一个网页并打印响应内容到终端。
指定请求方法(GET、POST等)。默认为 GET。
curl -X POST https://api.example.com/submit
添加自定义的HTTP头部信息。可以多次使用来设置多个头部。
curl -H "Authorization: Bearer mytoken" -H "Content-Type: application/json" https://api.example.com/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
将响应内容保存到指定的文件,而不是打印在终端上。
curl -o output.txt http://example.com/file.txt
自动为响应内容创建一个与远程文件同名的本地文件,并将其下载到当前目录。
curl -O https://example.com/somefile.zip
忽略SSL证书验证。请注意,这会带来安全风险,请谨慎使用。
curl -k https://insecure-site.example.com
指定CA证书文件,用于在HTTPS连接中验证服务器的证书。
curl --cacert /path/to/cacert.pem https://example.com
保存或从Cookie文件读取。通常与 -c
或 --cookie
一起使用,用于实现持久会话。
curl -c cookies.txt -b cookies.txt https://example.com/login
将收到的Cookies写入指定文件,并在请求中包含先前从Cookie文件读取的内容。通常与 -b
或 --cookie-jar
一起使用。
curl -c cookies.txt -b cookies.txt https://example.com/login
静默模式,不显示进度信息或错误信息(仅限响应内容)。
curl -s http://example.com > file.html
详细模式,输出所有交互过程中的详细信息。
curl -v https://example.com
自动重定向到服务器返回的新URL。
curl -L https://example.com/redirect
以上介绍了 curl
命令的一些常用选项,这些选项覆盖了从基础的文件传输到复杂的HTTP请求等多个方面。掌握它们有助于提高使用效率和安全性。当然,curl
还有更多高级功能和选项可供探索,具体可以查阅官方文档以获得更多信息。