curl命令是一个利用URL规则在命令行下工作的文件传输工具。

命令功能

curl命令是一个利用URL规则在命令行下工作的文件传输工具。

命令格式

命令参数

实用命令

实例:查看网页源码
描述:查看网页源码。
命令:curl www.sina.com
输出:

curl -o [文件名] www.sina.com -o参数把这个网页保存下来,相当于使用wget命令。
实例:自动跳转
curl -L www.sina.com 有的网址会自动跳转的,-L参数会跳转新的网址。
实例:显示头信息
curl -i www.sina.com -i参数可以显示http response的头信息,连同网页代码一起。-I参数则只显示http response头信息。
实例:显示通信过程
curl -v www.sina.com -v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。
curl –trace output.txt www.sina.com 查看更详细的通信过程
curl –trace-ascii output.txt www.sina.com
实例:发送表单信息
curl example.com/form.cgi?data=xxx 发送表单信息有GET和POST两种方法,GET相对简单,把数据附在网址后面。
curl -X POST –data “data=xxx” example.com/form.cgi POST方法必须把数据和网址分开,curl要用到–data参数。
curl -X POST–data-urlencode “date=April 1” example.com/form.cgi curl的–data-urlencode参数可以为表单编码。
实例:HTTP动词
curl默认的HTTP动词是GET,使用-X可以支持其他动词。
curl -X POST www.example.com
curl -X DELETE ww.example.com
实例:文件上传

1
2
3
4
  <form method="POST" enctype='multipart/form-data' action="upload.cgi">
    <input type=file name=upload>
    <input type=submit name=press value="OK">
  </form>

curl –form upload=@localfilename –form press=OK [URL]
实例:Referer字段
curl –referer http://www.example.com http://www.example.com 在http request头信息中,提供一个referer字段,表示从哪里跳转过来的。
实例:User Agent字段
curl –user-agent “[User Agent]” [URL]
实例:cookie
curl –cookie “name=xxx” www.example.com 让curl发送cookie
curl -c cookies http://example.com 保存服务器返回的cookie到文件
curl -b cookies http://example.com 使这个文件作为cookie信息,作为后续的请求。
实例:增加头信息
curl –header “Content-Type:application/json” http://example.com
实例:HTTP认证
curl –user name:password example.com 有些网域需要HTTP认证,这时curl需要用到–user参数。