Загружать вложения в URL-адрес перенаправления через Axel

Axel не разрешает URL-адреса, перенаправляющие на другой URL-адрес с файлом в качестве вложения. Как вы видите, я получаю 404, когда пытаюсь загрузить этот URL. (исходный сайт заменен example.com)

~ ▶ axel https://eusa.example.com/zipstream/1581777.zip?tunnel=1&token=b7385bb62e3111e3ace1002481265109&storage=s09 [2] 767 [3] 768 Initializing download: https://eusa.example.com/zipstream/1581777.zip?tunnel=1 [1] Exit 1 axel https://eusa.example.com/zipstream/1581777.zip?tunnel=1 [3]+ Done token=b7385bb62e3111e3ace1002481265109 ~ ▶ HTTP/1.1 404 Not Found 

Документация на сайте описывает перенаправление URL следующим образом:

Первый ответ всегда является перенаправлением. Расположение файла находится в заголовке «Местоположение». Клиент должен отправить новый запрос GET в новое место. Отображаются только заголовки.

 HTTP/1.1 302 FOUND Server: nginx Date: Thu, 09 Feb 2012 15:58:53 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Keep-Alive: timeout=60 Content-Length: 385 Location: http://s01.example.com/v2/files/26205116/download?oauth_token=4a63387841ce11e1a047001018321b64 

идет:

 HTTP/1.1 200 OK Server: nginx Date: Thu, 09 Feb 2012 15:58:53 GMT Content-Type: application/x-rar Content-Length: 3190802 Last-Modified: Fri, 16 Sep 2011 11:42:13 GMT Connection: keep-alive Keep-Alive: timeout=60 Content-Disposition: attachment; filename="file.rar" Accept-Ranges: bytes 

curl способен загрузить URL. Но axel дает мне 404. Я хочу использовать функцию мультисоединения Axel. Как я могу использовать curl чтобы просто разрешить URL-адрес и загрузить задание на axel ?

  • OpenWRT перенаправляет трафик на основе запрашиваемой пары домен / порт
  • Простой HTTP-сервер командной строки
  • Сервер Azure Ubuntu недоступен с удаленного компьютера
  • Является ли использование epub2pdf потенциальной угрозой безопасности? Есть ли альтернатива?
  • получить исходную дату создания html-файла
  • WGET - проверка подлинности root и всех дочерних папок
  • Отправить первую строку заголовка HTTP
  • Прокси-сервер Http для выбора внешнего интерфейса на основе заголовка хоста
  • One Solution collect form web for “Загружать вложения в URL-адрес перенаправления через Axel”

    Котировочная проблема?

    Попробуйте привязать URL-адрес к axel в одинарных кавычках. Bash пытается проанализировать аргументы & в параметрах в URL-адресе, как вы говорите, чтобы выполнить команду.

     $ axel 'https://eusa.example.com/zipstream/1581777.zip?tunnel=1&token=b7385bb62e3111e3ace1002481265109&storage=s09' 

    Отслеживание ошибок Axel

    Просматривая список открытых ошибок для Axel, похоже, что эта проблема была идентифицирована ранее, и автор, похоже, не отвечает на эту проблему.

    См. Эти вопросы для получения дополнительной информации :

    • [# 313080] Производит плохой HTTP-запрос, когда перенаправленная ссылка 302 длиннее 255 символов (например, youtube)
    • https://alioth.debian.org/tracker/?group_id=100070&atid=413085&func=detail&aid=313606
    • [# 311178] Переполнение буфера в http.c
    • [# 311101] Проблемы с именами выходных файлов
    • [# 310637] сбой, когда HTTP 302 перенаправляет его на FTP-адрес

    Учитывая, сколько времени прошло без движения по этим вопросам, я считаю, что этот проект мертв. Он может по-прежнему использоваться, но его никто не управляет.

    Это не так уж необычно в мире с открытым исходным кодом и на самом деле делает эту модель лицензирования уникальной в том смысле, что вы можете получить исходный код в проекте в этом состоянии и продолжать использовать его и поддерживать его самостоятельно.

    Исходный код для этого проекта можно легко загрузить через svn . Репозиторий кода проекта:

    Загрузка и компиляция

    Вы можете загрузить копию репозитория следующим образом:

     $ svn co svn://svn.debian.org/svn/axel/ 

    В моем блоке Fedora 19 код настраивается и компилируется идеально, поэтому этот проект действительно находится в хорошем состоянии, если нужно будет изменить базу кода.

    конфигурировать

     $ ./configure Configuration done: Internationalization enabled. Debugging disabled. Binary stripping enabled. 

    делать

     $ make msgfmt -vo nl.mo nl.po 40 translated messages, 6 fuzzy translations, 4 untranslated messages. msgfmt -vo de.mo de.po 46 translated messages, 4 fuzzy translations. msgfmt -vo ru.mo ru.po 46 translated messages, 2 fuzzy translations, 2 untranslated messages. msgfmt -vo zh_CN.mo zh_CN.po 42 translated messages, 6 fuzzy translations, 2 untranslated messages. gcc -c axel.c -o axel.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c conf.c -o conf.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c conn.c -o conn.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c ftp.c -o ftp.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c http.c -o http.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c search.c -o search.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c tcp.c -o tcp.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc -c text.c -o text.o -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -Wall gcc *.o -o axel -pthread strip axel 

    Я смог скомпилировать его и получил совершенно полезный бинарный axel .

     $ ls -l | grep "axel$" -rwxrwxr-x. 1 saml saml 35816 Dec 14 21:56 axel 

    Изменение базы кода?

    Раздел кода, который, я считаю, вы хотите сосредоточить, будет здесь, в файле conn.c :

      conn_exec( conn ); conn_disconnect( conn ); /* Code 3xx == redirect */ if( conn->http->status / 100 != 3 ) break; if( ( t = http_header( conn->http, "location:" ) ) == NULL ) return( 0 ); sscanf( t, "%255s", s ); if( strstr( s, "://" ) == NULL) { sprintf( conn->http->headers, "%s%s", conn_url( conn ), s ); strncpy( s, conn->http->headers, MAX_STRING ); } 

    C / C ++ не является моим родным «языком», поэтому я должен был бы начать с запуска этого кода через gdb (например, GNU Debugger) или вставить некоторые инструкции printf в этом разделе, чтобы узнать, что происходит, когда axel обращается к URL-адресам, которые вы с проблемой.

    Interesting Posts

    Массовое обновление /etc/ldap.secret

    Как запустить SSD trim fstrim на btrfs при установке нескольких подвоев?

    У меня есть два адаптера bluetooth для usb, которые не работают (hci1), но, по-видимому, по умолчанию. Как отключить его, чтобы я мог использовать другой (hci0)?

    Ubuntu 11.10 с оболочкой gnome – приостановить звук пробуждения

    Экран External DisplayPort не проснется после того, как спал на Arch linux

    Как grep строка в файле и выводить число рядом со строкой

    Как я могу искать файлы без определенных расширений в своих именах?

    Ошибка при создании libxcrypt

    Установите daemon для запуска при загрузке с помощью systemd

    Как исправить пустые / etc / sudoers как root?

    Почему работает определение встроенной переменной, но предыдущая строка не используется для команды aws?

    Push / Pull файлы среди Unix-машин с закрытым ключом в Windows

    Список отсутствующих имен файлов в шаблоне

    xargs игнорирует второй параметр скрипта

    Сервер Linux как маршрутизатор – проблема

    Linux и Unix - лучшая ОС в мире.