Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Подскажите, пытаюсь закачать 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, 01:03   #2
Sciv
Профессионал
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Адрес: Курган
Сообщений: 3,219
Репутация: 1231
По умолчанию

Распарсить полученный код и сделать ещё один гет на полученный адрес архива
__________________
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума   Ответить с цитированием
Старый 20.12.2017, 01:08   #3
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,368
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Там есть API, используйте его.
Alex11223 вне форума   Ответить с цитированием
Старый 20.12.2017, 11:08   #4
remus-xe2
 
Регистрация: 27.10.2017
Сообщений: 9
Репутация: 10
По умолчанию

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

https://developer.github.com/v3/repo...t-archive-link
Alex11223 вне форума   Ответить с цитированием
Старый 20.12.2017, 11:39   #6
remus-xe2
 
Регистрация: 27.10.2017
Сообщений: 9
Репутация: 10
По умолчанию

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

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

Последний раз редактировалось remus-xe2; 20.12.2017 в 11:41.
remus-xe2 вне форума   Ответить с цитированием
Старый 20.12.2017, 11:48   #7
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,368
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

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

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


Цитата:
Сообщение от remus-xe2 Посмотреть сообщение
открывается xml какой то
И? Если в нем есть то, что вам нужно (список релизов, ссылка, ...), то парсите его любой библиотекой для парсинга XML.
Только там вроде JSON, а не XML.
Alex11223 вне форума   Ответить с цитированием
Старый 20.12.2017, 16:30   #8
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,368
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

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

Если современная Дельфи, то там и стандартный модуль для парсинга JSON есть.
Alex11223 вне форума   Ответить с цитированием
Старый 20.12.2017, 16:57   #9
remus-xe2
 
Регистрация: 27.10.2017
Сообщений: 9
Репутация: 10
По умолчанию

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

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

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

Я ж давал ссылку на описание API. Там по имени репозитория (xmrig/xmrig-proxy) можно получить все данные о релизах (в т.ч. прямые ссылки) в удобном формате.
Alex11223 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


04:03.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru