linux curl命令详解
个人技术博客:http://demi-panda.com
一、参数详解
-M/--manual | 显示全手动 |
-n/--netrc | 从netrc文件中读取用户名和密码 |
--netrc-optional | 使用 .netrc 或者 URL来覆盖-n |
--ntlm | 使用 HTTP NTLM 身份验证 |
-N/--no-buffer | 禁用缓冲输出 |
-o/--output | 把输出写到该文件中 |
-O/--remote-name | 把输出写到该文件中,保留远程文件的文件名 |
-p/--proxytunnel | 使用HTTP代理 |
--proxy-anyauth | 选择任一代理身份验证方法 |
--proxy-basic | 在代理上使用基本身份验证 |
--proxy-digest | 在代理上使用数字身份验证 |
--proxy-ntlm | 在代理上使用ntlm身份验证 |
-P/--ftp-port <address> | 使用端口地址,而不是使用PASV |
-Q/--quote <cmd> | 文件传输前,发送命令到服务器 |
-r/--range <range> | 检索来自HTTP/1.1或FTP服务器字节范围 |
--range-file | 读取(SSL)的随机文件 |
-R/--remote-time | 在本地生成文件时,保留远程文件时间 |
--retry <num> | 传输出现问题时,重试的次数 |
--retry-delay <seconds> | 传输出现问题时,设置重试间隔时间 |
--retry-max-time <seconds> | 传输出现问题时,设置最大重试时间 |
-s/--silent | 静音模式。不输出任何东西 |
-S/--show-error | 显示错误 |
--socks4 <host[:port]> | 用socks4代理给定主机和端口 |
--socks5 <host[:port]> | 用socks5代理给定主机和端口 |
-t/--telnet-option <OPT=val> | Telnet选项设置 |
--trace <file> | 对指定文件进行debug |
--trace-ascii <file> Like | 跟踪但没有hex输出 |
--trace-time | 跟踪/详细输出时,添加时间戳 |
-T/--upload-file <file> | 上传文件 |
--url <URL> | Spet URL to work with |
-u/--user <user[:password]> | 设置服务器的用户和密码 |
-U/--proxy-user <user[:password]> | 设置代理用户名和密码 |
-V/--version | 显示版本信息 |
-w/--write-out [format] | 什么输出完成后 |
-x/--proxy <host[:port]> | 在给定的端口上使用HTTP代理 |
-X/--request <command> | 指定什么命令 |
-y/--speed-time | 放弃限速所要的时间。默认为30 |
-Y/--speed-limit | 停止传输速度的限制,速度时间'秒 |
-z/--time-cond | 传送时间设置 |
-0/--http1.0 | 使用HTTP 1.0 |
-1/--tlsv1 | 使用TLSv1(SSL) |
-2/--sslv2 | 使用SSLv2的(SSL) |
-3/--sslv3 | 使用的SSLv3(SSL) |
--3p-quote | like -Q for the source URL for 3rd party transfer |
--3p-url | 使用url,进行第三方传送 |
--3p-user | 使用用户名和密码,进行第三方传送 |
-4/--ipv4 | 使用IP4 |
-6/--ipv6 | 使用IP6 |
-#/--progress-bar | 用进度条显示当前的传送状态 |
二,常用curl实例
1,抓取页面内容到一个文件中
[[email protected]~]#curl-ohome.htmlhttp://www.sina.com.cn
2,用-O(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西
[[email protected]~]#curl-Ohttp://www.it415.com/czxt/linux/25002_3.html
3,模拟表单信息,模拟登录,保存cookie信息
[[email protected]~]#curl-c./cookie_c.txt-Flog=aaaa-Fpwd=******http://blog.51yip.com/wp-login.php
4,模拟表单信息,模拟登录,保存头信息
[[email protected]~]#curl-D./cookie_D.txt-Flog=aaaa-Fpwd=******http://blog.51yip.com/wp-login.php
-c(小写)产生的cookie和-D里面的cookie是不一样的。
5,使用cookie文件
[[email protected]~]#curl-b./cookie_c.txthttp://blog.51yip.com/wp-admin
6,断点续传,-C(大写的)
[[email protected]~]#curl-C-Ohttp://www.sina.com.cn
7,传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功
[[email protected]~]#curl-dlog=aaaahttp://blog.51yip.com/wp-login.php
8,显示抓取错误
[[email protected]~]#curl-fhttp://www.sina.com.cn/asdf
curl:(22)TherequestedURLreturnederror:404
[[email protected]~]#curlhttp://www.sina.com.cn/asdf
<HTML><HEAD><TITLE>404,notfound</TITLE>
。。。。。。。。。。。。
9,伪造来源地址,有的网站会判断,请求来源地址
[[email protected]~]#curl-ehttp://localhosthttp://www.sina.com.cn
10,当我们经常用curl去搞人家东西的时候,人家会把你的IP给屏蔽掉的,这个时候,我们可以用代理
[[email protected]~]#curl-x10.10.90.83:80-ohome.htmlhttp://www.sina.com.cn
11,比较大的东西,我们可以分段下载
[[email protected]~]#curl-r0-100-oimg.part1http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
1001011001010019260--:--:----:--:----:--:--0
[[email protected]~]#curl-r100-200-oimg.part2http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
1001011001010034980--:--:----:--:----:--:--98k
[[email protected]~]#curl-r200--oimg.part3http://i2.f.itc.cn/thumb/180/bj/6018/b_60178154.jpg
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
100135151001351500154k0--:--:----:--:----:--:--280k
[[email protected]~]#ll|grepimg.part
-rw-r--r--1rootroot101Jan2410:59img.part1
-rw-r--r--1rootroot101Jan2411:00img.part2
-rw-r--r--1rootroot13515Jan2411:00img.part3
用的时候,把他们cat一下就OK了,catimg.part*>img.jpg
12,不显示下载进度信息
[[email protected]~]#curl-s-oaaa.jpg
13,显示下载进度条
[[email protected]~]#curl-#-Ohttp://www.it415.com/czxt/linux/25002_3.html
########################################################################100.0%
14,通过ftp下载文件
[[email protected]~]#curl-u用户名:密码-Ohttp://blog.51yip.com/demo/curtain/bbstudy_files/style.css
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
101193410119340031840--:--:----:--:----:--:--7136
或者用下面的方式
[[email protected]~]#curl-Oftp://xukai:[email protected]:21/www/focus/enhouse/index.php
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
1008751810087518002312k0--:--:----:--:----:--:--11.5M
15,通过ftp上传
[[email protected]~]#curl-Txukai.phpftp://xukai:[email protected]:21/www/focus/enhouse/
%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent
DloadUploadTotalSpentLeftSpeed
10087518001008751802040k--:--:----:--:----:--:--8901k