Curl是开发者调试API的必备工具,但很多人的用法还停留在最基础的GET请求。其实Curl还有很多实用技巧,可以帮你更高效地开发和调试。本文将分享Curl命令的7个实用技巧,提升你的开发效率。
一、保存和复用Cookies
很多API需要登录后才能访问。用Curl登录后,可以用-c参数保存返回的Cookie到文件,后续请求用-b参数读取Cookie文件,保持登录状态。示例:curl -c cookies.txt -d "username=test&password=123" https://example.com/login,然后curl -b cookies.txt https://example.com/profile。
二、设置请求头模拟浏览器
有些API会检查User-Agent,拒绝非浏览器请求。可以用-H参数设置User-Agent,模拟浏览器访问。也可以设置其他请求头,如Authorization、Referer等。示例:curl -H "User-Agent: Mozilla/5.0" -H "Authorization: Bearer token123" https://api.example.com/data。
三、跟随重定向
有些URL会301/302重定向到新地址,默认Curl不会自动跟随。加上-L参数可以让Curl自动跟随重定向。示例:curl -L https://example.com/redirected。
四、显示详细的请求响应信息
调试时需要知道请求发送了什么、响应返回了什么。-v参数可以显示整个通信过程,包括请求头、响应头、SSL握手信息等。是定位问题的利器。示例:curl -v https://api.example.com/data。
五、限制最大响应时间
如果API响应太慢,可以用--max-time参数设置超时时间,避免命令卡住。示例:curl --max-time 10 https://api.example.com/slow。
六、文件上传
用-F参数可以模拟表单文件上传,适合测试图片上传接口。示例:curl -F "file=@/path/to/image.jpg" https://api.example.com/upload。
七、格式化JSON响应
API返回的JSON通常是一行,很难阅读。可以用管道传递给python -m json.tool格式化。示例:curl https://api.example.com/data | python -m json.tool。
八、使用一页共享快速生成Curl代码
当你调试好Curl命令后,需要转换成代码集成到项目中。打开一页共享的Curl请求生成器,粘贴Curl命令,一键生成PHP和Python代码,直接复制使用。


