curl使用笔记

curl是一个强大的命令行工具,用于发送HTTP请求并接收响应。它支持多种协议,并且具有广泛的用途,包括测试API、下载文件、上传数据等。以下是curl学习笔记的总结。

1. 基本用法

发送GET请求
curl http://example.com
发送POST请求
curl -X POST -d "param1=value1&param2=value2" http://example.com/post

2. 常用参数

-H:设置请求头
curl -H "Content-Type: application/json" -X POST -d '{"key":"value"}' http://example.com/api
-u:设置用户名和密码(用于基本认证)
curl -u username:password http://example.com/protected
-o:保存输出到文件
curl -o output.html http://example.com
-L:跟随重定向
curl -L http://example.com/redirect
-v:显示详细输出信息
curl -v http://example.com
-i:显示响应头信息
curl -i http://example.com
-k 或 --insecure:允许连接到SSL站点而不验证证书
curl -k https://example.com

3. 数据发送

使用-d或–data发送表单数据
curl -d "param1=value1&param2=value2" http://example.com/form
发送JSON数据
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' http://example.com/api

4. 文件上传

使用@符号来指定要上传的文件。

curl -X POST -F "file=@/path/to/file.txt" http://example.com/upload

5. 代理设置

HTTP代理
curl -x http://proxy_user:proxy_password@proxy_host:proxy_port http://example.com
SOCKS代理
curl --socks5-hostname proxy_host:proxy_port http://example.com

6. 调试和测试

使用-v-i参数可以方便地进行调试和测试。

7. 认证

除了基本认证(-u)外,curl还支持其他认证方法,如摘要认证、OAuth等。

8. 自定义请求头

使用-H参数可以自定义请求头。

9. 跟随引用(Referer)

使用-e--referer参数设置Referer头。

curl -e http://referrer.com http://example.com

10. Cookie处理

使用-b--cookie参数发送Cookie,或使用-c--cookie-jar参数保存和加载Cookie。

11. 进度条

使用--progress-bar参数可以在下载时显示进度条。

12. 超时设置

使用--connect-timeout--max-time参数可以设置连接超时和最大执行时间。

13. 限制速度

使用--limit-rate参数可以限制curl的传输速度。

14. 示例:使用curl下载文件并保存为指定名称

curl -O http://example.com/file.zip

15. curl脚本

curl可以很方便地集成到bash脚本中,用于自动化任务。

16. 通过curl获取您的公网ip

curl 提供返回ip的网址
# 例如:
curl https://checkip.amazonaws.com
curl https://api.ipify.org
curl https://ifconfig.me/ip
curl https://icanhazip.com
curl https://ipinfo.io/ip
curl https://ipecho.net/plain
curl https://checkipv4.dedyn.io
curl https://ipify.cn/
# 上边的地址都是可以直接返回您的公网ip的网址

17. 注意事项

  • 当使用curl处理敏感数据时,确保连接是安全的(HTTPS)。
  • 使用-k--insecure参数时请谨慎,因为它会忽略SSL证书验证,可能导致安全风险。
  • 当发送POST请求时,确保正确设置Content-Type头,以便服务器能够正确解析数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值