Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2017, 21:53   #1
remus-xe2
Пользователь
 
Регистрация: 27.10.2017
Сообщений: 54
По умолчанию закачать файл с гитхаба

Подскажите, пытаюсь закачать zip архив с гитхаба...

На вид, ссылка "прямая" но на деле там редирект стоит и моя программа сохраняет html код в файл в который должен сохранится архив (содержимое You are being redirected.).

Код:
function DownloadFileHttps(url:String; SaveDirFile:String):boolean;
var
  lHTTP: THTTPSend;
begin
  lHTTP := THTTPSend.Create;
  try
    if lHTTP.HTTPMethod('GET', url) then
      lHTTP.Document.SaveToFile(SaveDirFile);
      result:=true;
  EXCEPT
    showmessage('error1');
  end;
lHTTP.Free;
end;
как можно обработать этот редирект?
remus-xe2 вне форума Ответить с цитированием
Старый 20.12.2017, 00:03   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Распарсить полученный код и сделать ещё один гет на полученный адрес архива
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 20.12.2017, 00:08   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Там есть API, используйте его.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.12.2017, 10:08   #4
remus-xe2
Пользователь
 
Регистрация: 27.10.2017
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Там есть API, используйте его.
можно ссылку на апи закачки ? Что то нашел только описание кодов ответа
remus-xe2 вне форума Ответить с цитированием
Старый 20.12.2017, 10:22   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Закачки чего?

https://developer.github.com/v3/repo...t-archive-link
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.12.2017, 10:39   #6
remus-xe2
Пользователь
 
Регистрация: 27.10.2017
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Распарсить полученный код и сделать ещё один гет на полученный адрес архива
там по ссылке открывается xml какой то
Цитата:
Сообщение от Alex11223 Посмотреть сообщение

пример ссылки

Последний раз редактировалось remus-xe2; 20.12.2017 в 10:41.
remus-xe2 вне форума Ответить с цитированием
Старый 20.12.2017, 10:48   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А, это релизы, выше было про просто архив репозитория.

Про релизы тут https://developer.github.com/v3/repos/releases/


Цитата:
Сообщение от remus-xe2 Посмотреть сообщение
открывается xml какой то
И? Если в нем есть то, что вам нужно (список релизов, ссылка, ...), то парсите его любой библиотекой для парсинга XML.
Только там вроде JSON, а не XML.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.12.2017, 15:30   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Там в API ж есть и список всех релизов, и прямые ссылки. Откуда у вас ссылка на zip?

Если современная Дельфи, то там и стандартный модуль для парсинга JSON есть.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.12.2017, 15:57   #9
remus-xe2
Пользователь
 
Регистрация: 27.10.2017
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Там в API ж есть и список всех релизов, и прямые ссылки. Откуда у вас ссылка на zip?

Если современная Дельфи, то там и стандартный модуль для парсинга JSON есть.
ну как пример

https://github.com/xmrig/xmrig-proxy/releases

там есть уже готовое собранное ПО в зипе...
Вот пока что то не догоняю как загрузить архив..
Версия современная...
remus-xe2 вне форума Ответить с цитированием
Старый 20.12.2017, 16:04   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так вам не нужна эта ссылка, зачем париться с парсингом HTML?

Я ж давал ссылку на описание API. Там по имени репозитория (xmrig/xmrig-proxy) можно получить все данные о релизах (в т.ч. прямые ссылки) в удобном формате.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cmd Закачать файл Terikon Операционные системы общие вопросы 2 14.08.2010 00:35
Закачать файл на сервер Ozerich PHP 2 16.02.2009 23:11
Закачать файл на сайт и принять ответ coadmin Работа с сетью в Delphi 4 22.08.2008 23:19
не могу закачать файл из этого сайта Rahim1993 О форуме и сайтах клуба 4 03.01.2008 14:29