wget 이외의 파일을 다운로드하라는 명령 [close
-
13-09-2019 - |
문제
내 호스트는 SSH 및 Linux 명령에 제한된 액세스를 허용합니다. 그러나 나는 사용할 수 없습니다 wget 믿거 나 말거나.
다른 서버에서 파일 (.flv)을 다운로드하기를 바랐습니다. 내가 시도 할 수있는 또 다른 명령이 있습니까?
그렇지 않은 경우 파이썬, Perl 또는 PHP (좋아하는)를 사용하여 파일 다운로드를 달성 할 수 있습니다. 가능합니까?
해결책
다음 명령을 사용할 수 있습니다.
curl -O http://www.domain.com/file.flv
다른 팁
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"; } }'
세게 때리다 편집 --enable-net-redirections
꽤 강력합니다. (ZSH 비슷한 기능이 있습니다.) 도대체, HTTP 기본 인증도 여기에 던질 것입니다.
물론, 그것은 매우 좋은 HTTP/1.1 클라이언트가 아닙니다. 예를 들어 청크 인코딩을 지원하지 않습니다. 그러나 그것은 실제로 매우 드 rare니다.
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
)
}
lynx -source
curl -C - -O http://www.url.com
파이썬 스크립트 :
#!/usr/bin/env python
import os,sys,urllib
f = open (os.path.basename (sys.argv[1]), 'w')
f.write (urllib.urlopen (sys.argv[1]).read ())
f.close ()
어디 sys.argv[1]
관심있는 URL입니다.
인증 된 호스트에서 파일을 다운로드하려는 경우 Access를 사용해보십시오. scp
. 그것은 일반적인 사본과 같지만 SSH 터널을 통해 이루어집니다. "Limited SSH"를 허용하는 호스트는 종종 scp
.
scp user@myhost.com:folder/file.flv ./
사용자 자격 증명을 제공해야합니다. 보다 scp
선적 서류 비치 자세한 내용은.
비슷한 일을하는 또 다른 도구는 snarf.
SCP를 사용하십시오.
사용법 : SCP [-1246BCPQRV] [-C Cipher] [-f SSH_CONFIG] [-i eventity_file
-l Limit] [-o ssh_option] [-p port] [-s program
[user@] host1 :] file1 ... [[[user@] host2 :] file2
다양한 방법,
- 파이썬 - HTTP보다 데이터를 가져 오지 않는 방법
- perl - 파일 :: 가져 오기 기준 치수
- tcl - :: http :: geturl, 끝에 예제가 있습니다
- 컴파일러와 FTP가 작동하는 경우 wget을 얻으십시오 그리고 그것을 컴파일하십시오
또 다른 가능한 대안입니다 aria2.