curl命令是一个使用URL规则在命令行下工作的文件传输工具。它支持文件上传和下载,所以是一个综合性的传输工具,但是按照传统,习惯上称curl为下载工具。它支持包括HTTP、HTTPS、ftp等多种协议。它还支持POST、cookie、身份验证、从指定偏移量下载部分文件、用户代理字符串、速度限制、文件大小、进度条等功能。抓取页面信息的常用选项-o将文件保存为命令行中指定的文件名-O使用URL中的默认文件名将文件保存到本地#下载文件到本地并命名为mygettext.htmlcurl-omygettext.htmlhttp://www.gnu.org/software/gettext/manual/gettext.html#将文件保存到本地,命名为gettext.html,下面的url可以写正则curl-Ohttp://www.gnu.org/software/gettext/manual/gettext.html#-O-O可以同时下载多个文件#如果不加这个选项,会直接打印到标准输出。有些网页,比如www.sina.com,有跳转,如果直接curl,是获取不到网页源码的,这时候需要加上-L选项#遇到重定向的时候,使用该选项将请求重定向到一个新的地址下载。#当文件下载完成之前结束进程$curl-Ohttp://www.gnu.org/software/gettext/manual/gettext.html##############20.1%$curl-C-Ohttp://www.gnu.org/software/gettext/manual/gettext.html##################21.1%获取请求信息或通信过程-i显示http响应的头信息,以及网页的代码。-I/--head只显示响应头信息。-v显示一次http通信的全过程,包括端口连接和http请求头信息。或者使用如下命令获取更详细的通信过程:curl--traceoutput.txtwww.sina.com发送表单信息对于GET方式,由于参数数据在url上,直接curl即可,也是curl的默认方法。其他方式需要使用-X选项指定,比如POST、DELETE等。$curl-XPOST--data"data=xxx"example.com--data相当于-d,有用法如下:-d@file#将提交的参数放入文件中-d"string"#more参数形式为xxx&xxx--data"string"--data-ascii"string"--data-binary"string"--data-urlencode"string#包含特殊符号的需要url编码伪造header信息-e/--referer
