CURL介绍

CURL,全称Command Line URL viewer,是一种命令行工具,用来发送网络请求,然后得到和提取数据,显示在标准输出(stdout);


1、查看网页源代码:$ url www.cnblogs.com
2、如果要把网页保存下来,可以使用’-o’参数,相当于使用wget命令:$ curl -o [文件名] www.cnblogs.com
3、自动跳转   -L参数,curl就会自动跳转到新的网址:$ curl -L www.cnblogs.com
4、显示头信息  -i参数,(只)可以显示http response的头信息,后面是网页代码:

$ curl -i www.cnblogs.com
< HTTP/1.1 200 OK
< Date: Wed, 06 Jan 2016 14:07:03 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 45225
< Connection: keep-alive
< Vary: Accept-Encoding
< Cache-Control: public, max-age=96
< Expires: Wed, 06 Jan 2016 14:08:40 GMT
< Last-Modified: Wed, 06 Jan 2016 14:06:40 GMT
< X-UA-Compatible: IE=10

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

$ curl -v www.cnblogs.com
Output: 
* Rebuilt URL to: www.cnblogs.com/
* Hostname was NOT found in DNS cache
*   Trying 42.121.252.58...
* Connected to www.cnblogs.com (42.121.252.58) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: www.cnblogs.com
> Accept: */*

如果觉得上面的信息不够,可以使用下面这个命令查看更详细的通信过程。$ curl --trace output.txt www.cnblogs.com  或者  $ curl --trace-ascii output.txt www.cnblogs.com运行后,请打开output.txt文件查看。

6、发送表单信息,发送表单信息有GET和POST两种方法。

GET方法相对简单,只要把数据附在网址后面即可。$ curl www.cnblogs.com/form.cgi?data=xxx
POST方法必须把数据和网址分开,curl就要用到–data参数。$ curl -X POST --data "data=xxx" www.cnblogs.com/form.cgi

7、HTTP动词(用的最多)
curl默认支持的HTTP动词是GET,使用-X参数可以支持其他动词。

$ curl -X POST www.cnblogs.com
$ curl -X DELETE www.cnblogs.com

8、文件上传
假设文件上传的表单是下面这样的:

<form method="POST" enctype='multipart/form-data' action="upload.cgi">
    <input type=file name=upload>
    <input type=submit name=press value="OK">
</form>
可以使用curl这样上传文件:

$ curl --form upload=@localfilename --form press=OK [URL]

9、Referer字段
在http request头信息中,增加一个referer字段,表示你是从哪里过来的。

$ curl --referer http://www.yourblog.com http://www.example.com

10、User Agent字段
这个字段用来表示客户端设备的信息。服务器有时会根据这个字段,针对不同的设备, 
返回不同格式的网页,比如手机版和桌面版。

$ curl --user-agent “[User Agent]" [URL]

11、cookie(移动端不支持cookie,现在都用token)
使用--cookie参数,可以让curl发送cookie。

$ curl --cookie "name=xxx" www.cnblogs.com
至于具体的cookie设置,可以从http response头信息中的Set-Cookie字段中得到。 
-c cookie-file可以保存服务器返回的cookie到文件,-b cookie-file可以使用这个文件作为cookie信息, 
作为后续的请求。

$ curl -c cookies http://www.cnblogs.com
$ curl -b cookes http://www.cnblogs.com


12、增加头信息
有时需要在http request之中,自行增加一个头信息。--header参数就可以起到这个作用。

$ curl --header ”Content-Type:application/json" http://cnblogs.com

13、HTTP认证
有些网域需要HTTP认证,这是需要用到--user参数。

$ curl --user name:password example.com

参考
1.curl网站开发指南 
2.Using cURL to automate HTTP jobs

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值