Linux curl命令操作实例汇总

2017-05-12 18:06 来源:华军新闻网 作者:华军新闻网 点击: 评论:

A-A+

原标题:Linux curl命令操作实例汇总

  curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。

53-150104153T92Q.jpg

  在Linux中curl支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

  语法:# curl [option] [url]

  常见参数:

  -A/--user-agent 《string》 设置用户代理发送给服务器

  -b/--cookie 《name=string/file》 cookie字符串或文件读取位置

  -c/--cookie-jar 《file》 操作结束后把cookie写入到这个文件中

  -C/--continue-at 《offset》 断点续转

  -D/--dump-header 《file》 把header信息写入到该文件中

  -e/--referer 来源网址

  -f/--fail 连接失败时不显示http错误

  -o/--output 把输出写到该文件中

  -O/--remote-name 把输出写到该文件中,保留远程文件的文件名

  -r/--range 《range》 检索来自HTTP/1.1或FTP服务器字节范围

  -s/--silent 静音模式。不输出任何东西

  -T/--upload-file 《file》 上传文件

  -u/--user 《user[:password]》 设置服务器的用户和密码

  -w/--write-out [format] 什么输出完成后

  -x/--proxy 《host[:port]》 在给定的端口上使用HTTP代理

  -#/--progress-bar 进度条显示当前的传送状态

  例子:

  1、基本用法

  # curl http://www.linuxidc.com

  执行后,www.linuxidc.com 的html就会显示在屏幕上了

  Ps:由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站

  2、保存访问的网页

  2.1:使用linux的重定向功能保存

  # curl http://www.linuxidc.com 》》 linuxidc.html

  2.2:可以使用curl的内置option:-o(小写)保存网页

  $ curl -o linuxidc.html http://www.linuxidc.com

  执行完成后会显示如下界面,显示100%则表示保存成功

  % Total % Received % Xferd Average Speed Time Time Time Current

  Dload Upload Total Spent Left Speed

  100 79684 0 79684 0 0 3437k 0 --:--:-- --:--:-- --:--:-- 7781k

  2.3:可以使用curl的内置option:-O(大写)保存网页中的文件

  要注意这里后面的url要具体到某个文件,不然抓不下来

  # curl -O http://www.linuxidc.com/hello.sh

  3、测试网页返回值

  # curl -o /dev/null -s -w %{http_code} www.linuxidc.com

  Ps:在脚本中,这是很常见的测试网站是否正常的用法

  4、指定proxy服务器以及其端口

  很多时候上网需要用到代理服务器(比如是使用代理服务器上网或者因为使用curl别人网站而被别人屏蔽IP地址的时候),幸运的是curl通过使用内置option:-x来支持设置代理

  # curl -x 192.168.100.100:1080 http://www.linuxidc.com

  5、cookie

  有些网站是使用cookie来记录session信息。对于chrome这样的浏览器,可以轻易处理cookie信息,但在curl中只要增加相关参数也是可以很容易的处理cookie

  5.1:保存http的response里面的cookie信息。内置option:-c(小写)

  # curl -c cookiec.txt http://www.linuxidc.com

  执行后cookie信息就被存到了cookiec.txt里面了

  5.2:保存http的response里面的header信息。内置option: -D

  # curl -D cookied.txt http://www.linuxidc.com

  执行后cookie信息就被存到了cookied.txt里面了

  注意:-c(小写)产生的cookie和-D里面的cookie是不一样的。

  5.3:使用cookie

  很多网站都是通过监视你的cookie信息来判断你是否按规矩访问他们的网站的,因此我们需要使用保存的cookie信息。内置option: -b

  # curl -b cookiec.txt http://www.linuxidc.com

  6、模仿浏览器

  有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。curl内置option:-A可以让我们指定浏览器去访问网站

  # curl -A “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)” http://www.linuxidc.com

  这样服务器端就会认为是使用IE8.0去访问的

  7、伪造referer(盗链)

  很多服务器会检查http访问的referer从而来控制访问。比如:你是先访问首页,然后再访问首页中的邮箱页面,这里访问邮箱的referer地址就是访问首页成功后的页面地址,如果服务器发现对邮箱页面访问的referer地址不是首页的地址,就断定那是个盗连了

  curl中内置option:-e可以让我们设定referer

  # curl -e “www.linuxidc.com” http://mail.linuxidc.com

  这样就会让服务器其以为你是从www.linuxidc.com点击某个链接过来的

  8、下载文件

  8.1:利用curl下载文件。

  #使用内置option:-o(小写)

  # curl -o dodo1.jpg http:www.linuxidc.com/dodo1.JPG

  #使用内置option:-O(大写)

  # curl -O http://www.linuxidc.com/dodo1.JPG

  这样就会以服务器上的名称保存文件到本地

  8.2:循环下载

  有时候下载图片可以能是前面的部分名称是一样的,就最后的尾椎名不一样

  # curl -O http://www.linuxidc.com/dodo[1-5].JPG

  这样就会把dodo1,dodo2,dodo3,dodo4,dodo5全部保存下来

  8.3:下载重命名

  # curl -O http://www.linuxidc.com/{hello,bb}/dodo[1-5].JPG

  由于下载的hello与bb中的文件名都是dodo1,dodo2,dodo3,dodo4,dodo5。因此第二次下载的会把第一次下载的覆盖,这样就需要对文件进行重命名。

  # curl -o #1_#2.JPG http://www.linuxidc.com/{hello,bb}/dodo[1-5].JPG

  这样在hello/dodo1.JPG的文件下载下来就会变成hello_dodo1.JPG,其他文件依此类推,从而有效的避免了文件被覆盖

 

【易采站长站编辑:秋军】

即将到来的Debian 10 Buster发布版的新特点 即将到来的Debian 10 Buster发布版的新特点
Debian 10 Buster 即将发布。第一个发布候选版已经发布,我们预期可以在几周内见到待最终版。 如果你期待对这个新的主要发布
Rancher 推出 k3OS,业界首个 Kubernetes 操作系统 Rancher 推出 k3OS,业界首个 Kubernetes 操作
Rancher Labs(以下简称 Rancher)推出 k3OS,这是业界首个专为 Kubernetes 而生的极轻量操作系统,资源消耗极低,操作极简,秒级
微软正在考虑放弃其Windows密码过期策略 微软正在考虑放弃其Windows密码过期策略
Quick News 微软正在考虑放弃其 Windows 密码过期策略 微软考虑在 Windows 废除要求用户定期更改其登录密码的策略,以让用户养成
以Rust编写的类Unix操作系统Redox OS发布0.5版 以Rust编写的类Unix操作系统Redox OS发布
Redox OS 是一个几乎完全以 Rust 语言编写的通用操作系统及周围生态(例如文件系统、显示服务器及 Rust 版本的 libc)。其遵循
一个开发者的视角:未来云会是新的操作系统 一个开发者的视角:未来云会是新的操
也许从消费者的角度来看,云听起来并不新鲜。因为我们早已习惯从任意设备上访问在互联网上的文件、数据,而不用关心这
 谷歌 Fuchsia 操作系统将支持运行 Linux 应用程序 谷歌 Fuchsia 操作系统将支持运行 Linux
近日,谷歌已经为其新兴开源的 Fuchsia OS 添加了一个 Guest App,以使 Linux 应用程序能够在 Fuchsia 中作为虚拟机(VM)运行。这
巧用CHKDSK命令修复U盘文件或目录损坏问题 巧用CHKDSK命令修复U盘文件或目录损坏问
U盘是我们常用的随身移动存储工具,我们平时在使用U盘时难免会出现那么几次直接拔出U盘,结果导致U盘的文件或目录损坏
鉴别升级版U盘的小妙招 鉴别升级版U盘的小妙招
升级版U盘是什么?该如何鉴别它与正常U盘?也许很多朋友还不知道这个概念,下面让小编为大家解释一下。 升级版U盘,是将
不借助软件如何给U盘文件加锁 不借助软件如何给U盘文件加锁
运用第三方软件给U盘文件加锁,相信很多用户都会,但是软件毕竟加密效果有限,很容易被破解,随着WinXP系统退休而去,更
快速检测并修复缩水U盘的简单方法 快速检测并修复缩水U盘的简单方法
U盘的使用已经非常普及,但由于市场上充斥着大量的不良制造商,因此各种假冒伪劣U盘如雨后春笋般的出现,其中缩水U盘就