Как скачать файл C#

Artur

Новичок
Регистрация
06.11.2013
Сообщения
26
Благодарностей
5
Баллы
3
Добрый день! Я знаю как скачать файл со странички на кубиках. Но учу c#.
Поиском пользовался, ничего по такой теме не нашел.. Кроме упоминания о неких GET запросах.

Как скачивать файлы с веб страниц на c#? Где можно посмотреть примеры? Почитать об этом?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
Добрый день! Я знаю как скачать файл со странички на кубиках. Но учу c#.
Поиском пользовался, ничего по такой теме не нашел.. Кроме упоминания о неких GET запросах.

Как скачивать файлы с веб страниц на c#? Где можно посмотреть примеры? Почитать об этом?
на ютубе. так и вбивай - работа через POST/GET запросы через C#
 

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
Ты ведь тоже кубиком get наверное скачиваешь.
Пробуй, вроде так (если не изменяет память. P.S. Мои надписи надо поменять на адекватные):
C#:
string response = ZennoPoster.HttpGet("урл запроса для скачивания", "прокси(можно оставить пустыми)", Encoding.UTF8, ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, 15000, "куки(можно оставить пустыми)", "юзер агент(можно оставить пустыми)", true, 5, null, "путь куда сохраняем файл", true);
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
будешь капчу так качать, куки точно не пустые должны быть :-)
или если с сайта где авторизация нужна, будешь с куками например качать, а заголовок не поставишь. ну и заблокирует аккаунт за подозрительную деятельность :-)
 

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
да, давно не скачивал. По уму всё подставлять надо конечно. Я, главное, запрос привел. Дальше тс самому покопать придется.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
ну тут просто много нюансов. например качать файл из под браузера если, то можно его контейнер заюзать, а если в шаблоне без браузера, то надо все откуда то брать. получается как бы разные методы формирования запросов будут. ну по крайней мере я так вижу :-)
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Ты ведь тоже кубиком get наверное скачиваешь.
Пробуй, вроде так (если не изменяет память. P.S. Мои надписи надо поменять на адекватные):
C#:
string response = ZennoPoster.HttpGet("урл запроса для скачивания", "прокси(можно оставить пустыми)", Encoding.UTF8, ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, 15000, "куки(можно оставить пустыми)", "юзер агент(можно оставить пустыми)", true, 5, null, "путь куда сохраняем файл", true);
Это устаревший пример кода
вот новый: https://zennolab.com/discussion/threads/acceptencoding-i-acceptlanguage-ne-otpravljat-pri-get-zaprose.67665/post-470593
 
Последнее редактирование:
  • Спасибо
Реакции: Trader1985

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
А есть какие-то важные преимущества нового метода (если ты простой смертный, а не программист)?
Старый кодирует некоторые символы в url не правильно. Поэтому может не грузиться, что-то. Ещё Яндекс через него не работает.
В любом случае, для новых проектов стоит предпочесть последнюю версию.
Почему его сделали?
Улучшение API.
 
Последнее редактирование:
  • Спасибо
Реакции: Alexmd и volody00

Artur

Новичок
Регистрация
06.11.2013
Сообщения
26
Благодарностей
5
Баллы
3
Спасибо большое! В результате получился такой запрос. вроде по последней моде)
C#:
string Res = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, Putj, string.Empty, "", "", "", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, 3000, "", "", false, 3, "", project.Directory, false, false, project.Profile.CookieContainer);
Где мне совершенно непонятно что же такое
byte[] content

И как его сделать пустым. Сейчас там string.Empty, но он ошибку выкидывает
 

Artur

Новичок
Регистрация
06.11.2013
Сообщения
26
Благодарностей
5
Баллы
3
Все, разобрался! Вот простой (для меня) и рабочий код простой загружалки!
C#:
var Res = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, url: Putj, respType: ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, Timeout: 50000, DownloadPath: project.Directory);
 

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93
блин почти 3 часа ковырял api aliexpress, никак не мог понять в чём проблема. При чем и кубиком и с помощью ZennoPoster.HttpPost. Мне сервис всё время возвращал ответ 400. В итоге решил попробовать новым методом, который посоветовал Zymlex и всё сработало. Так и не понял, в чём прикол, но лучше пользуйтесь новым методом от греха подальше
 
  • Спасибо
Реакции: Yuriy Zymlex

TeslaCo

Client
Регистрация
25.10.2016
Сообщения
62
Благодарностей
2
Баллы
8
Все, разобрался! Вот простой (для меня) и рабочий код простой загружалки!
C#:
var Res = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, url: Putj, respType: ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.File, Timeout: 50000, DownloadPath: project.Directory);
Всё работает, спасибо огромное.
 
Последнее редактирование:

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)