cURL 是一个简单的 http 命令行工具。与最优秀的 Unix 工具一样,在设计之时,cURL 是个小型程序,功能十分专一,而且是故意为之,仅用于访问 http 服务器。(在 Linux 中,可以使用包管理器轻易安装,apt-get install curl/yum install curl)。

  • curl:默认会将下载文件输出到stdout
  • $ curl https://api.github.com
    • github api 是超媒体 api。
    • 从上述命令行的输出可以看出,其输出响应包含一个映射,列出了接下来可能会发起请求的地址,
      • code_search_url键对应的 url 显然用于在 github 中搜索代码;
  • -I/–head:只打印返回头信息,而不下载远程文件;

0. wget

  • -q(–quiet):turn off wget’s output;(对于 curl 则是 –silent)

1. 查看网页源码

  • $ curl www.sina.com(仅仅是查看)

    <html>
    <head><title>301 Moved Permanently</title></head>
    <body bgcolor="white">
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>nginx</center>
    </body>
    </html>
  • 如果要将该网页保存下来,可以使用 -o 参数,相当于 wget 命令了:

    $ curl -o [filename] www.sina.com

2. 模拟GET/POST/PUT/DELETE/OPTIONS 请求

http://ju.outofmemory.cn/entry/84875

常用参数:

  • -X/–request,后可跟:GET/POST/PUT/DELETE/OPTIONS

    curl -X GET "http://www.rest.com/api/users"
    curl -X POST "http://www.rest.com/api/users"
    curl -X PUT "http://www.rest.com/api/users"
    curl -X DELETE "http://www.rest.com/api/users"
  • -H/–header,指定 request 的头部

    curl -v -i -H "Content-Type: application/json" http://www.example.com/users
  • -i/–include:显示 response 的 header
  • -d/–data:指定请求的参数;

    curl -X POST -d "param1=value1&param2=value2"

references

posted on 2017-04-30 11:21  未雨愁眸  阅读(246)  评论(0编辑  收藏  举报