标签:自己的 target detail 断点续传 并且 一个 range http服务 应用
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。
从curl官网下载你需要的curl版本,这儿我使用的win64位,解压后,将curl.exe文件放置到C:WindowsSystem32
路径下,可是使用命令行敲入curl出现以下图片,表示安装成功。
-A:随意指定自己这次访问所宣称的自己的浏览器信息
-b/–cookie
-c/–cookie-jar
-C/–continue-at
-d/–data : HTTP POST方式传送数据
-D/–dump-header
-F/–form
-v/–verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-m/–max-time
-H/–header
-s/–slient 减少输出的信息,比如进度
–connect-timeout
-x/–proxy
-T/–upload-file
-o/–output
–retry
-e/–referer
-I/–head 仅返回头部信息,使用HEAD请求
-u/–user
-O:按照服务器上的文件名,自动存在本地
-r/–range
-T/–upload-file
直接访问站点
curl http:
# https地址可以直接访问
curl https:
保存访问页面/资源
# 将网站的首页保存到当前目录index.html文件中
curl -o index.html http:
# 将网站上面的资源以原来的名称 保存到当前目录
curl -O http://www.XXXX.com/banner.jpg
GET方式请求
curl http://www.example.com?username=kuku&passwd=123456
# A/001.JPG -> 下载后: 001-A.JPG 原来: B/001.JPG -> 下载后: 001-B.JPG
curl -o #2_#1.jpg http://www.XXXX.com/~{A,B}/[001-201].JPG
Post方式请求
curl -d "username=kuku&passwd=123456" http://www.example.com
模拟表单信息,模拟登录
# 保存cookie信息
curl -c ./cookie_c.txt -F log=aaaa -F pwd=*** http://www.XXXX.com/login.htm
# 保存header信息
curl -D ./cookie_D.txt -F log=aaaa -F pwd=*** http://www.XXXX.com/login.htm
# 使用cookie文件
curl -b ./cookie_c.txt http://www.XXXX.com/admin.htm
断点续传 -C(大写)
curl -C -O http://www.XXXX.com/banner.jpg
伪造来源地址,防盗链
curl -e http://localhost http://www.XXXX.com/login.htm
代理IP
curl -x xx.xx.xx.xx:xxxxx -o index.html http://www.XXXX.com
分段下载
curl -r 0-100 -o img.part1 http://www.XXXX.com/banner.jpg
curl -r 100-200 -o img.part2 http://www.XXXX.com/banner.jpg
curl -r 200- -o img.part3 http://www.XXXX.com/banner.jpg
cat img.part* > img.jpg
显示/隐藏下载进度条
# 隐藏进度条
curl -s -o aaa.jpg http://www.baidu.com/img/bdlogo.gif
# 显示进度条
curl -O aaa.jpg http://www.baidu.com/img/bdlogo.gif
模拟浏览器头
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x 123.45.67.89:1080 -o index.html -D cookie0001.txt http://www.baidu.com
文件上传
一点需要注意的是,POST模式下的文件上的文件上传,比如
<form method="POST" enctype="multipar/form-data" action="http://www.xxx.com/uploadImg">
<input type=file name=upload>
<input type=submit name=nick value="go">
</form>
这样一个HTTP表单,我们要用curl进行模拟,就该是这样的语法:
curl -F upload=@localfilename -F nick=go http://www.xxx.com/uploadImg
引用,某些资源需要经过一个网络地址跳转过去
curl -e http://www.xx.com/redict
上传一个资源到http服务器,最好使用PUT方法
curl -T uploadfile http://www.xxx.com
curl --upload-file uploadfile http://www.xxx.com
标签:自己的 target detail 断点续传 并且 一个 range http服务 应用
原文地址:https://www.cnblogs.com/petewell/p/11601694.html