15 shell之curl下载文件

前言

????最近忙于离职的工作交接,有日子没学习了,懒惰啊!

正文

  1. 需求

    譬如某一天我们做了一个软件。

    有时我们的软件需要自动根据到网上去获取当前版本是否要更新。如果"网上"需要更新则下载一些必要的文件

  2. shell实现

    LOCAL_VER=`cat version`

    REMOTE_VER=`curl http://[email protected]@@..com/test/conf.txt -s | sed -n ‘2p‘` # -s 静默模式,不显示细节

    #echo $REMOTE_VER

    if [ $LOCAL_VER -lt $REMOTE_VER ]

    then

    # echo "begin update"

    GET_UPDATE=`curl -d "password=123" http://[email protected]@@.com/test/update.php -s` #-d post 提交

    wget $GET_UPDATE

    echo "2">version

    fi

  3. 思路梳理

    首先判断本地的version文件,读取。

    用curl访问远程conf.txt,然后取第二行

    本地的 版本和远程版本进行比较,如果版本小则;

    1)模拟post访问update.php,并获取需要下载的地址

    2)使用wget下载下来

    ?

  4. 知识点梳理

    1. curl "命令行下的浏览器" 文件传输工具

    curl http://www.baidu.com

    以上都是用GET的方式直接访问网页。

    其实curl很牛逼的地方还能模拟提交

    curl -d "这里写post参数" 这里写网址

    1. 数字比较

      -gt是大于的意思 large than
      -lt是小于 less than
      -eq是等于 equal
      -ne是不等于not equal
      -ge是大于等于 large equal
      -le是小于等于? less equal

    2. curl 静默模式

      curl 网址

      会正常显示

      ?

???????? 赋值给你变量会显示统计信息

???????? result=`curl 网址`

???????? echo $result 会出现统计信息

????????????

????????静默模式:不显示统计信息

????????result=`curl 网址 -s`

  1. curl 网址 需要等待网站相应

    所以用 语句1 | 语句2

????????????代表只有语句1执行完的结果,作为语句2的参数

????????????之后用sed 读取下就OK了

?

尾声、

时间: 2024-11-05 02:23:33

15 shell之curl下载文件的相关文章

curl下载文件

有时候需要在简单的脚本中实现下载,就可以用用这个小工具实现 curl官网:https://curl.haxx.se/ 选择适合的版本下载后,启动cmd,进入curl所在目录,运行 curl -O [URL] 就能在当前文件夹下载文件,注意这里的URL必须对应具体的文件 如果想保存目标网页,可以用 curl -o [filename] [URL] 例如, curl -o qq.html http://www.qq.com/ 就能保存腾讯首页.(-o参数也可以用在下载文件里面,作用是重命名下载的文件

通过curl下载文件

1. 适用范围      本文档介绍SylixOS下通过curl中间下载文件的流程,使用者应熟悉SylixOS系统以及curl中间件. 2. 下载流程2.1 资源准备    文件下载依赖curl中间件,故下载前需基于SylixOS进行curl中间件移植,移植过程本文档不做详细介绍,请参照<SylixOS下中间件移植手册>. 2.2 下载流程      文件下载前需获取可用的下载url,使用curl中间件提供的接口进行文件下载.下载流程如程序清单 2.1所示. 程序清单 2.1  文件下载流程

Linux shell ftp命令下载文件 根据文件日期

需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep  8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d

写了一个简单的Linux Shell用来下载文件

#!/bin/sh for (( i=0; i<30; i=i+1 )); do # 利用spider来探测请求的资源是否存在,并把请求的结果写入到一个文件 wget --spider --http-user=username --http-password=passwd --no-check-certificate -e "https_proxy=http://URL:port" fileURL &> spiderResult.txt # 把文件内容读取到一个变量

Linux curl 命令下载文件

引用自http://blog.csdn.net/wh211212/article/details/54285921 命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 语法:# curl [option] [url] 常见参数: -A/--user-agent <string> 设置用户代理发送给服务器 -b/--cookie <name

多线程实现下载文件

一:需求分析 1:下载远程资源文件,通过多线程下载,达到高效的目的. 2:使用5个线程分别下载文件的不同部分. 二:定义成员变量以及初始化变量 1 // 定义成员变量 2 private String path; // 远程资源路径 3 private String targetPath; // 本地存储路径 4 private DownFileThread[] threads; // 线程list 5 private int threadNum; // 线程数量 6 private long

使用libcurl下载文件小例

libcurl是一个很强大的开源网络处理库,支持包括HTTP.HTTPS.FTP--一系列网络协议.用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要讲解一个使用curl下载文件的小例. 首先是去下载curl的最新源代码,然后编译成动态库或者静态库:然后把头文件和库文件拿出来加入到我们自己的工程中,引用声明: #include "curl.h" #ifdef _DEBUG #pragma comment(lib, "../De

PHP利用Curl实现多线程抓取网页和下载文件

PHP 利用 Curl  可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,然而因为php语言本身不支持多线程,所以开发爬虫程序效率并不高,一般采集 数据可以利用 PHPquery类来采集数据库,在此之外也可以用 Curl ,借助Curl 这个功能实现并发多线程的访问多个url地址以实现并发多线程抓取网页或者下载文件. 至于具体实现过程,请参考下面几个例子: 1.实现抓取多个URL并将内容写入指定的文件 $urls = array( '路径地址', '路径地址', '路径地址

PHP CURL实现远程下载文件到本地

<?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($result); function httpcopy($url,$file='',$timeout=60){ $file=empty($file)?pathinfo($url,PATHINFO_BASENAME):$file; $dir=pathinfo($file,PATHINFO_DIRNAME); !i