Curl命令使用方法

简介:curl是 *nix 系统下面默认都会有的网络请求客户端工具,一般可用于各种网络诊断过程中。


安装最新版本的Curl,否则不支持--resolve命令

  1. $ wget https://curl.haxx.se/download/curl-7.51.0.tar.gz
  2. $ tar zxvf curl-7.51.0.tar.gz
  3. $ cd curl-7.51.0
  4. ./configure --prefix=/usr/local/curl
  5. $ make;make install
  6. export PATH=/usr/local/curl/bin:$PATH
  7. $ source /etc/profile
  8. $ curl -V
  9. curl 7.51.0 (x86_64-pc-linux-gnu) libcurl/7.51.0 OpenSSL/1.0.1e zlib/1.2.3 #提示版本信息

1. 使用head方式发送http请求,返回url的头部信息

检查CDN页面访问是否正常。
  1. $ curl -I http://image.meilele.com/css/promotion/promotion.min.css?1208
  2. ---------------------------------------------------------------
  3. HTTP/1.1 200 OK #200状态码表示正常
  4. Server: nws_ocmid_hy
  5. Connection: keep-alive
  6. Date: Thu, 12 Jan 2017 03:23:43 GMT
  7. Cache-Control: max-age=600 #缓存时间600秒
  8. Expires: Thu, 12 Jan 2017 03:33:43 GMT
  9. Last-Modified: Thu, 12 Jan 2017 03:10:00 GMT #文件版本修改时间
  10. Content-Type: text/css
  11. Content-Length: 32615
  12. X-Cache-Lookup: Hit From Disktank3
  13. X-Daa-Tunnel: hop_count=3
  14. X-Cache-Lookup: Hit From Inner Cluster
  15. X-Cache-Lookup: Hit From Upstream
  16. X-Cache-Lookup: Hit From Inner Cluster 
检查源站访问是否正常。
  1. curl -I http://114.67.59.203/css/promotion/promotion.min.css?1208 -H 'host:image.meilele.com' #114.67.59.203是客户的源站IP
  2. ---------------------------------------------------------------
  3. HTTP/1.1 200 OK #源站正常
  4. Server: nginx
  5. Date: Thu, 12 Jan 2017 03:25:35 GMT
  6. Content-Type: text/css
  7. Connection: keep-alive

若出现4XX、5XX等状态码,可作为报障依据。


2.使用 GET 方法,将访问到的url内容存到本地

将用户源站内容下载到本地
  1. $ curl -1.css http://114.67.59.203/css/promotion/promotion.min.css?1208 -H 'host:image.meilele.com'
  2. ---------------------------------------------------------------
  3. 100 32615 0 32615 0 0 191k 0 --:--:-- 193k
将CDN内容下载到本地
  1. $ curl -2.css http://image.meilele.com/css/promotion/promotion.min.css?1208
  2. ---------------------------------------------------------------
  3. 100 32615 100 32615 0 0 47975 0 --:--:-- 49491
比较源站与CDN内容,若不一致代表CDN没有更新源站内容
  1. $ md5sum 1.css 2.css #比较md5值可判断源站与CDN内容不一致
  2. 6600862713e67ad2ce71d62be014797e 1.css
  3. 455901e5a116f23b413c45ee8f1f5a62 2.css

若内容不一致,可以采用刷新CDN内容,进行手动同步


3.指定代理域名+端口 或 IP+端口来发送请求head请求

分析七牛存储上是否包含用户的内容
  1. $ curl -'http://devtools.qiniu.com/qiniu.png' -'iovip.qbox.me:80' #代理域名+端口
  2. 或者
  3. $ curl -'http://devtools.qiniu.com/qiniu.png' -'183.131.7.23:80' #IP+端口
  4. ---------------------------------------------------------------
  5. HTTP/1.1 200 OK
  6. Server: nginx
  7. Date: Tue, 06 Sep 2016 09:13:18 GMT
  8. Content-Type: image/png
  9. Content-Length: 163469
  10. Connection: keep-alive
  11. Accept-Ranges: bytes
  12. Access-Control-Allow-Origin: *
  13. Access-Control-Expose-Headers: X-Log, X-Reqid
  14. Access-Control-Max-Age: 2592000
  15. Cache-Control: public, max-age=31536000
  16. Content-Disposition: inline; filename="qiniu.png"
  17. Content-Transfer-Encoding: binary
  18. Etag: "FpHyF0kkil3sp-SaXXX8TBJY3jDh"
  19. Last-Modified: Thu, 28 Jul 2016 10:28:31 GMT
  20. X-Log: mc.g:16;IO:62
  21. X-Reqid: K18AAD3XulsHsXEU
  22. X-Qiniu-Zone: 0

4.指定请求的头部,比如Host或者Referer等

CDN检验Referer白名单配制是否正常
  1. $curl ---referer http://1.sina.com/ http://img.jiemian.com/101/original/20161229/148300375266728000_a580x330.jpg 2>/dev/null|grep 'HTTP'
  2. ---------------------------------------------------------------
  3. HTTP/1.0 403 Forbidden #表示内容不存在或者被拒绝访问
  1. $curl ---referer http://1.qq.com/ http://img.jiemian.com/101/original/20161229/148300375266728000_a580x330.jpg 2>/dev/null|grep 'HTTP'
  2. ---------------------------------------------------------------
  3. HTTP/1.1 200 OK #表示Referer白名单跳转请求允许访问到资源
  4. ---

5. HTTPS检测URL方法

CDN厂商提供一个CDN节点来验证https是否配制成功,通过resolve参数将https的请求重定向到IP节点
  1. curl -IL https://fdh5imgcdn.oz1997.com/lp/img/head/t011.jpg -H 'referer:http://csdn.kmtyjz.com' --resolve fdh5imgcdn.oz1997.com:443:58.216.109.182 2>/dev/null|grep 'HTTP'
  2. HTTP/1.1 200 OK

6.验证点播平台拖拽功能

start参数后是mp4的起始时间,改变START后的参数查看下载内容是否随之改变
  1. $ curl -/dev/null http://vodxuanw.sobeycache.com/vod/2016/07/04/0739e865fba446faa7fdd128b27369ef/h264_256k_mp4_001.mp4?start=50
  2.  % Total % Received
  3.  1 6271k 1 69556 #从50秒开始下载,总共有6271k的资源可下载
  4. $ curl -/dev/null http://vodxuanw.sobeycache.com/vod/2016/07/04/0739e865fba446faa7fdd128b27369ef/h264_256k_mp4_001.mp4?start=100
  5.  % Total % Received 
  6.  23 3626k 23 839k #从100秒开始下载,总共有3626k的资源可下载

你可能感兴趣的:(Qiniu)