当前位置:  开发笔记 > 编程语言 > 正文

用于下载Wget以外的文件的命令

如何解决《用于下载Wget以外的文件的命令》经验,为你挑选了3个好方法。

我的主机允许有限访问SSH和Linux命令.但是,我不能用Wget信不信由你.

我希望从另一台服务器下载文件(.flv).我可以尝试另一个命令吗?

如果没有,我可能会使用Python,Perl或PHP(最喜欢的)来实现文件下载.可能吗?



1> bdonlan..:
echo -ne "GET /path/to/file HTTP/1.0\r\nHost: www.somesite.com\r\n\r\n" | nc www.somesite.com 80 | perl -pe 'BEGIN { while (<>) { last if $_ eq "\r\n"; } }'



2> ephemient..:

编译的Bash--enable-net-redirections非常强大.(Zsh有类似的功能.)哎呀,我甚至会在这里抛出HTTP Basic Auth.

当然,它不是一个非常好的HTTP/1.1客户端; 例如,它不支持分块编码.但这在实践中非常罕见.

read_http() {
    local url host path login port
    url="${1#http://}"
    host="${url%%/*}"
    path="${url#${host}}"
    login="${host%${host#*@}}"
    host="${host#${login}@}"
    port="${host#${host%:*}}"
    host="${host%:${port}}"
    (
        exec 3<>"/dev/tcp/${host}/${port:-80}" || exit $?
        >&3 echo -n "GET ${path:-/} HTTP/1.1"$'\r\n'
        >&3 echo -n "Host: ${host}"$'\r\n'
        [[ -n ${login} ]] &&
        >&3 echo -n "Authorization: Basic $(uuencode <<<"${login}")"$'\r\n'
        >&3 echo -n $'\r\n'
        while read line <&3; do
            line="${line%$'\r'}"
            echo "${line}" >&2
            [[ -z ${line} ]] && break
        done
        dd <&3
    )
}

OTOH,如果你安装了Perl的LWP,它应该附带一个名为GET的样本二进制文件......



3> 小智..:

您可以使用以下命令:

curl -O http://www.domain.com/file.flv


OP为什么接受此答案?许多其他人在很久以前就提到curl,最重要的是这里给出的确切命令是不正确的。奇怪
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有