curl工具用法

curl常用方式

设置用户身份代理    #伪装客户端身份为LT-browser
      curl -A LT-browser https://boke.wsfnk.com

伪造来源网址       #伪装<URL> 来源网址qq.com,跳转过来的链接
      curl -e http://qq.com https://boke.wsfnk.com

显示一次的http请求的通信过程
      curl -V https://boke.wsfnk.com

仅显示http-head(http头部) 
      curl -I https://boke.wsfnk.com

使用强制重定向    #本站没有开启http,所以他会自动强制跳转到 https://boke.wsfnk.com
      curl -L http://boke.wsfnk.com


限速下载
      下载速度最大不会超过1000B/second
      curl --limit-rate 1000B -O http://www.gnu.org/software/gettext/manual/gettext.html

为CURL设置代理
      指定代理主机和端口
      curl -x proxysever.test.com:3128 http://google.co.in

CURL授权
      在访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权
      通常的做法是在命令行只输入用户名,之后会提示输入密码,这样可以保证在查看历史记录时不会将密码泄露
      curl -u username:password URL
      curl -u username URL

Cookie相关
      使用用户名和密码登录系统,并将cookie信息存储在当前目录的cookie文件中
      -c 存储cookie到文件
      curl -d"name=zhangsan&password=123" http://localhost:8080/login -c ./cookie

      -b 携带cookie文件
      curl http://localhost:8080/login -b ./cookie

从FTP服务器下载文件
      若在url中指定的是某个文件路径而非某个文件,CURL则会列出该目录下的所有文件而并非下载该目录下的所有文件
      #列出public_html下的所有文件夹和文件
      curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/

      #下载xss.php文件
      curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php

上传文件到FTP服务器
      通过 -T 选项可将指定的本地文件上传到FTP服务器上
      #将myfile.txt文件上传到服务器
      curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com

      #同时上传多个文件
      curl -u ftpuser:ftppass -T "{file1,file2}" ftp://ftp.testserver.com

      #从标准输入获取内容保存到服务器指定的文件中
      curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt

Curl执行GET/POST/PUT/DELETE操作
      curl -X PUT www.baidu.com
      curl -X DELETE www.baidu.com
      curl -X POST www.baidu.com
      curl -X POST -d"data=123&key=456" http://localhost:8080/search -v
      curl -X GET www.baidu.com

      上传文件
      curl --form "fileupload=@filename.txt" http://hostname/resource

如何实现断点续传

      如何进行下载资源
	curl -o filename 'url'	#具体示例见下(url需要用单引号引起来,防止特殊字符干扰)
	curl -o CentOS-7.iso 'http://mirrors.163.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso'

      当网络故障,中断下载后,如何实现,断点续传(#在刚才下载命令后面加上 -C - 并再次执行)
	curl -o CentOS-7.iso 'http://mirrors.163.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso' -C -

      完整性校验(将得到的校验码与官方的对比,相同则文件完整)
	md5sum CentOS-7.iso
	sha1sum CentOS-7.iso

curl支持如下几种方式的URL:

      可以指定多个url,或者在花括号中指定url的多个部分。
      http://site.{one,two,three}.com

      可以用中括号指定数字或字母序列。
      ftp://ftp.numericals.com/file[1-100].txt
      ftp://ftp.numericals.com/file[001-100].txt    (with leading zeros)
      ftp://ftp.letters.com/file[a-z].txt

      可以指定多个序列。
      http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html

      可以在命令行指定任意数量的url,curl会按指定顺序获取url的内容。

      可以在一个范围内指定跳跃的步数。
      http://www.numericals.com/file[1-100:10].txt
      http://www.letters.com/file[a-z:2].txt
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/574.html

最后编辑于:2018/7/26作者: 辣条①号

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注