(服务器上直接下载网站文件的脚本—待修改)

UNIT文件下载工具

从UNIT上下载文件到开发上往往需要先下载到自己的电脑上,再层层上传,很不方便。
所以我做了一个工具。直接在开发服务器上下载UNIT上的文件。

程序位置

svi@da-gbk-a001:~/bin/unit-dl
sa_owner@goobikesadevel01:~/bin/unit-dl

使用方法

$ unit-dl <URL> [<save-as-file>]

<URL> 是需要被下载的文件URL。
<save-as-file> 是想存成什么文件名。这可以不提供。

$ unit-dl ‘http://unit.sunseer.co.jp/attachments/11115/4989-YSP-campaign.gif‘

$ unit-dl ‘http://unit.sunseer.co.jp/attachments/11115/4989-YSP-campaign.gif‘ save_as_1.gif

程序会问你要你登录UNIT时的用户名和密码。

--------------------------

UNITIP=202.248.23.108


export LANG=en


urlencode () {
    echo -n "$1" | xxd -p | sed -r ‘s/../%\0/g‘
}


TARGETURL="$1"
OUTFILE="$2"


if [ -z "$TARGETURL" ] ; then
    echo "Error: the first argument should be a URL." >&2
    exit 1
fi


echo -n "Unit username: "
read USERNAME
echo -n "Unit password: "
read -s PASSWORD


if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ] ; then
    echo "Error: both username and password are required." >&2
    exit 1
fi


if [ -z "$OUTFILE" ] ; then
    OUTFILEARG=""
else
    OUTFILEARG="-O $OUTFILE"
fi


COOKIEFILE=`mktemp`
trap "rm $COOKIEFILE" EXIT


env http_proxy=$UNITIP \
               wget --quiet -O - \
               --http-user=sunseer \
               --http-password=redmine \
               --save-cookies=$COOKIEFILE \
               --keep-session-cookies \
               --post-data="username=$( urlencode "$USERNAME" )&password=$( urlencode "$PASSWORD" )" \
               ‘http://unit.sunseer.co.jp/login‘ \
               > /dev/null


env http_proxy=$UNITIP \
               wget $OUTFILEARG \
               --http-user=sunseer \
               --http-password=redmine \
               --load-cookies=$COOKIEFILE \
               --save-cookies=$COOKIEFILE \
               --keep-session-cookies \
               "$TARGETURL"

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。