سؤال

يستطيع مضيفي الوصول المحدود إلى أوامر SSH و Linux. ومع ذلك، لا أستطيع استخدام واهن صدق او لا تصدق.

كنت آمل في الحصول على شيء لتنزيل ملف (.flv) من خادم آخر. هل هناك أمر آخر يمكنني أن أجربه؟

إذا لم يكن هناك ما يمكن أن تستخدمه من الأبراج أو بيرل أو 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 قوية جدا. فيزيش لديه ميزات مماثلة.) هيك، سأرمي مصادقة HTTP الأساسية هنا أيضا.

بالطبع، ليس عميل 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
    )
}

أوتوه، إذا كان لديك بيرل LWP. تثبيت، يجب أن السفينة مع عينة ثنائية اسمه احصل على

lynx -source

curl -C - -O http://www.url.com

Python Script:

#!/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 الذي تهتم به.

إذا كنت تحاول تنزيل ملف من المضيف، فقد وصلت إليه الوصول إليه، فحاول استخدام scp. وبعد انها مثل نسخة عادية ولكن يتم ذلك من خلال نفق SSH. لقد وجدت أن المضيفين الذين يسمحون "محدودة SSH" في كثير من الأحيان لا تزال تسمح scp.

scp user@myhost.com:folder/file.flv ./

ستحتاج إلى تقديم بيانات اعتماد المستخدم الخاصة بك. يرى scp توثيق للمزيد من المعلومات.

أداة أخرى موجودة هناك أشياء مماثلة هي يلتهم.

استخدام SCP.

الاستعمال: SCP [-1246BCPQRV] [-C Cipher] [-f ssh_config] [-i overity_file
-L الحد] [-O SSH_OPTION] [Port -P] [-S برنامج
[user @] host1:] file1 ... [[host @ @] host2:] file2

طرق مختلفة،

  1. بيثون - كيف لا لجلب البيانات عبر HTTP

بديل آخر ممكن هو Aria2..

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top