Linux Curl命令

Aug 1, 2015


最近测试接口,大量使用了linux的curl命令,这里就做一下总结


Curl基本命令

  • get:

    • 不带参数的:curl http://127.0.0.1:8002/xuliehua/

    • 带参数的:curl http://127.0.0.1:8002/xuliehua/?id=123&name=fasdfas

  • post:

    • curl -X POST -d “title=123&code=456” http://127.0.0.1:8002/xuliehua/
  • delete:

    • curl -X DELETE http://127.0.0.1:8002/hello/25/
  • put:

    • curl -X PUT -d “title=shanyj&code=hahahaha” http://127.0.0.1:8002/hello/24/
  • 主要参数:

    • -X 传输方式

    • -d 数据

    • -H 使用额外的Header -H ‘Authorization: Token 24fd3c026886e3121b2ca630805ed425c272cb96’ -H ‘Accept: application/json; indent=4’

    • -k 此选项明确允许cURL 执行“不安全” SSL 连接和传输。所有的SSL 连接 使用捆绑默认安装的CA 证书试图使其安全。这使得除非使用-k/–insecure,否则 所有连接被认为是“不安全”的而失败。

    • -l 只获取HTTP-header

    • -v 获取调试信息

    • -i 显示http头


Curl其他命令

  • 下载文件:

    • curl -o mygettext.html http://www.gnu.org/gettext.html 将文件下载到本地并命名为mygettext.html

    • curl -O http://www.gnu.org/gettext.html 将文件保存到本地并命名为gettext.html

    • curl -O URL1 -O URL2 同时获取多个文件

  • 重定向:

    • 默认情况下CURL不会发送HTTP Location headers(重定向)

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

  • 断点续传:

    • 通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载

    • curl -C - -O http://www.gnu.org/gettext.html

  • 限速:

    • 通过–limit-rate选项对CURL的最大网络使用进行限制

    • curl –limit-rate 1000B -O http://www.gnu.org/gettext.html

  • 授权:

    • curl -u username:password URL
  • 时间筛选:

    • curl -z 21-Dec-11 http://www.example.com/yy.html

    • 若yy.html文件在2011/12/21之后有过更新才会进行下载

  • 上传文件:

    • curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com

    • 将myfile.txt文件上传到服务器,模拟表单上传使用-F

  • cookie信息:

    • curl -D sugarcookies http://localhost/sugarcrm/index.php 将网站的cookies信息保存到sugarcookies文件中

    • curl -b sugarcookies http://localhost/sugarcrm/index.php 使用上次保存的cookie信息