curl 指令小结

参考了阮一峰curl网站开发指南,内容并非特别全面但入门了解足矣,与参考的其他资料相比最大的特点是参数使用更符合『语义化』,比如设置UA,使用--user-agent而非-A等等,虽然这需要输入更多字符,但在不是很熟悉的情况下更容易理解。

下面对常用命令的总结,持续补充中…

  1. 返回网页源码

    curl + [url]

  2. 保存网页源码

    1. 重定向

      curl url > [fileName]

    2. -o参数

      curl -o [fileName] [url]

  3. 自动跳转

    使用-L参数,如

    curl -L [url]

  4. 显示头信息(http response

    1. 使用-i参数,连同网页代码一起显示

      curl -i [url]

    2. 使用-I参数,仅显示http头信息

      curl -I [url]

  5. 显示通信过程

    -v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。

  6. 更为详细的通信过程

    curl --trace [fileName] [url]

    或者

    curl --trace-ascii [fileName] [url]

  7. 发送表单信息

    1. GET

      数据跟在url后即可,如

      curl exmaple.com/form.cgi?data=xxx

    2. POST

      POST方法必须把数据和网址分开,用到--data参数

      curl --data "data=xxx" example.com/form.cgi

      curl可为数据编码,参数为--data-urlencode

      curl --data-urlencode "data=April 1" example.com/form.cgi

  8. 文件上传(略)

  9. Referer字段

    表示从哪里跳转过来,如

    curl --referer [refererUrl] [targetUrl]

  10. User Agent字段

    curl --user-agent "[User Agent]" [url]

  11. cookie

    参数--cookie,发送cookie

    curl --cookie "name=xxx" [url]

  12. 增加头信息

    参数--header,如

    curl --header "xxx:xxxx" [url]

  13. HTTP认证

    有些网域需要HTTP认证,这时curl需要用到–user参数。(不确定能否用于登陆校园网网关)

    curl --user name:password [url]

(完)

(最后修改于2015-09-21)

Table of Contents