当前位置: 首页 > Linux

linux命令的curl

时间:2023-04-06 21:09:16 Linux

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选项可以伪造源URL。#假装从http://www.google重定向.com页面到目标页面$curl--refererhttp://www.google.comhttp://man.linuxde.net-A/--user-agentoptioncanfakeUA.curlURL-A"Mozilla/5.0"-H/--header自定义头信息curl-H"Host:man.linuxde.net"-H"accept-language:zh-cn"-x/--proxysetproxysettingscookie-b/--cookie选项用于设置cookie或从指定文件读取cookie信息发起http请求$curl--cookie"name=xxx;pass=xxx"www.example.com-c/--cookie-jar选项可以保存cookie指定文件。用户认证-u/--user执行http/ftp认证下载文件$curl-uname:passwordwww.example.com$curl-Oftp://name:passwd@ip:port/demo/curtain/bbstudy_files/style.css上传文件$curl-Ttest.sqlftp://name:passwd@ip:port/demo/curtain/bbstudy_files/限速和限制--limit-rate选项设置传输速度curlURL--limit-rate50k--max-filesize选项设置最大下载文件总量curlURL--max-filesizebytes参考[1]Linuxcurl命令详解[2]linuxcurl命令详解及实例[3]curl网站开发指南