linux curl命令详解
curl 是一个非常强大的命令行工具,用于在Linux、macOS和其他支持的平台上使用各种协议进行数据传输。它最常用于从服务器下载或上传文件,但也可以用来测试API端点等。curl 支持HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、TELNET、LDAP或FILE等协议。
以下是 curl 的一些常用选项和用法:
基本语法
curl [options] [URL]
常见选项
-O:将远程文件下载到本地,并保存为原始文件名。-o <file>:将远程文件下载到本地,并保存为指定的文件名。-L:如果服务器报告永久重定向(代码301/302),则自动跟随新的地址。-I:仅获取文档信息(头信息),不下载内容。-X <command>或--request <command>:指定请求方法(如GET、POST、PUT、DELETE等)。-d @<filename>或-d "string"或--data <data>:使用POST方法发送数据。可以是字符串或者文件内容。-H "Header: Value"或--header "Header: Value":自定义HTTP头信息。-u <user>:<password>:提供服务器认证所需的用户名和密码。-c <cookie-jar-file>:保存响应中的cookies到指定文件。-b <cookie-file>:读取cookies并随请求一起发送。-A "<user-agent-string>"或--user-agent "<user-agent-string>":设置User-Agent字符串。-v:显示详细输出,包括请求和响应头信息,对于调试很有帮助。-k或--insecure:允许curl执行不安全的操作,比如忽略SSL证书错误。
示例
-
下载文件并保存为原文件名:
curl -O http://example.com/file.zip -
下载文件并指定保存的文件名:
curl -o myfile.zip http://example.com/file.zip -
跟随重定向下载文件:
curl -OL http://example.com/file.zip -
发送POST请求并包含数据:
curl -X POST -d "param1=value1¶m2=value2" http://example.com/script.php -
使用自定义HTTP头发送请求:
curl -H "Content-Type: application/json" -X POST -d '{"key":"value"}' http://example.com/api/resource -
使用用户名和密码进行基本认证:
curl -u username:password http://example.com/protected/
这些只是curl功能的一部分。要了解更多关于curl的信息,可以在终端中输入man curl来查看完整的手册页。
Do not communicate by sharing memory; instead, share memory by communicating.

浙公网安备 33010602011771号