curl 命令简介

curl 命令简介

cURL 是command URL的缩写,它调用libcurl库,支持多种协议。官方页面

常用命令

参考官方文档,命令忒多了…

以下只讨论最基础的一部分常用命令

尝试一个最常见的网址

curl “http://www.baidu.com

-o 保存页面

curl -o /tmp/baidu.html “http://www.baidu.com

-o 指定文件名保存

curl -O “http://www.linux.com/img/001.jpg

-O使用服务默认文件名保存,支持[001-999].jpg批量下载

-c 保存cookie

curl -c /tmp/cookie.txt http://www.baidu.com

-b 使用cookie访问

curl -b /tmp/cookie.txt http://www.baidu.com

-x 使用proxy服务器访问

curl -x 192.168.100.123:1080 http://www.google.com.hk

-X 强制指定request方法

curl -X GET http://localhost:9200

-L 强制重定向

curl -L http://www.google.com

如访问google时阻止其跳转到google.com.hk

-I 只显示header头文件

curl -I http://www.baidu.com

-w 指定显示信息

curl -w “%{http_code}\n” http://www.example.net

-D 下载头文件
下载头文件到header.txt

curl -D /tmp/header.txt http://www.baidu.com

使用-D下载的header信息多于-c 下载的cookie

-A agent模式

curl -A “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)” http://www.baidu.com

模拟Windows IE8访问了baidu

-u 设置用户名密码,可结合-T 上传、ftp等命令

curl -u username https://api.github.com/user?access_token=XXXXXXXXXX
curl -T UPLOAD.JPG -u USER:PASSWORD ftp://www.linux.com/img/

上传文件

curl -O -u USER:PASSWORD ftp://www.linux.com/img/UPLOAD.JPG

下载文件

其他协议,如使用dict查字典
查询bash单词的含义

curl dict://dict.org/d:bash

列出所有可用词典

curl dict://dict.org/show:db

在foldoc词典中查询bash单词的含义

curl dict://dict.org/d:bash:foldo

-s 静默模式

curl -s http://www.baidu.com

不显示进度和错误

-d 模拟POST提交数据

curl -d “user=USERNAME&password=PASSWORD” http://www.yahoo.com/login.cgi

-F 模拟form提交数据

curl -F upload=@localfile -F nick=go http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi

-e 指定来源地址

curl -e “www.sina.com” http://mail.sina.com

模拟原地址,突破防盗链

-E 指定证书

curl -E localcert.pem https://remote_server

参考资料

https://curl.haxx.se/
http://blog.youkuaiyun.com/weiwangchao_/article/details/23174095
http://www.cnblogs.com/duhuo/p/5695256.html

### 什么是 cURL 命令cURL 是一个强大的命令行工具,用于在不同协议之间传输数据。它支持多种协议(如 HTTP、HTTPS、FTP 等),并且可以轻松地发送请求、接收响应以及处理各种网络问题[^1]。 ### cURL 常用命令 以下是 cURL 的一些常用命令及其功能: #### 发送 POST 请求 可以通过以下命令向指定 URL 发送 POST 请求,并附带数据: ```bash curl -X POST https://www.example.com -d "param1=value1&param2=value2" ``` 此命令会向 `https://www.example.com` 发送一个包含参数的 POST 请求[^1]。 #### 保存重定向输出 若需要将 cURL 的输出保存到文件中,可以使用重定向操作符 `>>` 将结果追加到文件末尾: ```bash curl http://www.linux.com >> linux.html ``` 上述命令会将 `http://www.linux.com` 的内容追加到 `linux.html` 文件中。 #### 错误日志重定向 如果需要将错误信息写入指定文件,可以使用 `-o` 或 `-O` 参数: ```bash curl -o error.log http://example.com ``` 如果文件名指定为纯文本的 `'-'`,则错误信息会被写入标准输出 (stdout)[^2]。 #### 设置超时时间 为了避免长时间等待响应,可以设置最大等待时间: ```bash curl --max-time 10 https://www.example.com ``` 此命令将请求的最大等待时间设置为 10 秒[^3]。 ### 解决常见问题 #### SSL 连接问题 当遇到 SSL 证书验证失败的问题时,可以尝试加入 `-k` 或 `--insecure` 选项忽略证书验证: ```bash curl -k https://www.example.com ``` #### 解读错误代码 cURL 返回的错误代码可以通过官方文档进行查询,了解每个 HTTP 状态码的具体含义。例如: - `404` 表示资源未找到。 - `500` 表示服务器内部错误。 #### 测试 RESTful API 通过模拟不同的 HTTP 方法(如 GET、POST、PUT、DELETE),可以测试 RESTful API 的行为。例如: - 发送 GET 请求: ```bash curl -X GET https://api.example.com/data ``` - 发送 DELETE 请求: ```bash curl -X DELETE https://api.example.com/data/123 ``` ### 示例代码 以下是一个完整的示例,展示如何使用 cURL 发送带参数的 POST 请求并设置超时时间: ```bash curl -X POST https://api.example.com/login \ -d "username=admin&password=secret" \ --max-time 5 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值