Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
3 / 3 / 0
Регистрация: 22.11.2019
Сообщений: 55

Получение файла через POST запрос

14.01.2022, 06:58. Показов 2357. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, тут у нас на днях обновили сайт данных, и теперь файлы тянуть стало проблематично, например если до этого можно было просто загрузить файл по ссылке через
C#
1
webClient.DownloadFileAsync
то сейчас система другая, и теперь чтобы тебя пропустил сайт во 1 - нужно отправить post запрос, а во вторых, файл возвращается уже в ответе, что жутко не удобно, даже в браузере. Подскажите, как сохранить его в файл?
Миниатюры
Получение файла через POST запрос  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.01.2022, 06:58
Ответы с готовыми решениями:

Не получается авторизоваться через POST-запрос
Пытаюсь авторизоваться через пост запрос: HttpWebRequest httpWebRequest =...

Отправить POST-запрос через Awesomium
Здравствуйте, господа! Нужен пример отправки post запроса через Awesomium, например, по нажатию кнопки. Есть url, на который нужно...

Как отправить файл через POST-запрос
как отправить файл через POST запрос?

7
3 / 3 / 0
Регистрация: 22.11.2019
Сообщений: 55
14.01.2022, 07:04  [ТС]
Если получить текст answer в окошке, то выйдет как на картинке: 2
А если сохранить в файл, то как на картинке 3
Миниатюры
Получение файла через POST запрос   Получение файла через POST запрос  
0
dive
 Аватар для I can
4961 / 4661 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
14.01.2022, 07:19
Цитата Сообщение от dolgushin Посмотреть сообщение
то как на картинке 3
Это бинарный файл?

Добавлено через 2 минуты
Похоже на Экселевский формат
0
3 / 3 / 0
Регистрация: 22.11.2019
Сообщений: 55
14.01.2022, 07:24  [ТС]
да эклеська, но его нужно именно сохранить, если записать responce.content в файл и переименовать в excel то ничего не выходит, вероятно нужно как-то отчистить его от "лишнего" кода.
Вот так это отображается в браузере, и автоматически сохраняется
Миниатюры
Получение файла через POST запрос  
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,234
14.01.2022, 07:25
Попробуйте читать как multipart-content.
Далее идет копипаста с автосгенерированной страницы (на основе github-репозитория):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 var provider = await content.ReadAsMultipartAsync();
            foreach (var httpContent in provider.Contents)
            {
                var fileName = httpContent.Headers.ContentDisposition.FileName;
                if (string.IsNullOrWhiteSpace(fileName))
                {
                    continue;
                }
 
                using (Stream fileContent = await httpContent.ReadAsStreamAsync())
                {
                   // меняем на BinaryReader, читаем поток и сохраняем, предположительно в xls 
                   // то есть весь код ниже меняйте на свой
                    using (TextReader reader = new StreamReader(fileContent))
                    {
                        string data = await reader.ReadToEndAsync();
 
                        JToken jsonLd = JToken.Parse(data);
 
                        if (result.JsonLdContext == null)
                        {
                            result.JsonLdContext = (JObject)jsonLd["@context"];
                            result.JsonLdFrame = (string)jsonLd["@type"];
                        }
 
                        IGraph graph = Common.GraphFromJson(jsonLd);
 
                        result.Graph.Merge(graph, false);
                    }
                }
0
dive
 Аватар для I can
4961 / 4661 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
14.01.2022, 07:46
Лучший ответ Сообщение было отмечено dolgushin как решение

Решение

Цитата Сообщение от dolgushin Посмотреть сообщение
записать responce.content в файл
Попробуйте сохранять как бинарный файл сразу, а не как текстовый.

Добавлено через 9 минут
Что-то типа

C#
1
System.IO.File.WriteAllBytes("1.xlsx",ТутВашМассивБайт);
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,234
14.01.2022, 07:51
Лучший ответ Сообщение было отмечено dolgushin как решение

Решение

Цитата Сообщение от I can Посмотреть сообщение
Что-то типа
Да, я тоже об этом, типа того:
C#
1
2
3
4
5
// fileName - из кода выше
var targetPath = Path.Combine(dirPath, filename);
using (Stream fileContent = await httpContent.ReadAsStreamAsync())
                 using (var fs = new FileStream(targetPath))
                        fileContent.CopyTo(fs);
1
3 / 3 / 0
Регистрация: 22.11.2019
Сообщений: 55
14.01.2022, 09:20  [ТС]
Да, оказалось это цельный файл переданный бинарными символами, сохраняется через
C#
1
response.Content.ReadAsStreamAsync()
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.01.2022, 09:20
Помогаю со студенческими работами здесь

Post запрос HttpWebRequest через прокси socks5
Есть код простого пост запроса string POST(string url, string data) { HttpWebRequest request =...

Не получается POST-запрос с передачей файлов через HttpWebRequest
пытаюсь сделать POST-запрос типа MIME на сайт... должен передавать несколько файлов и значение одной переменной... не получается даже с...

Отправка файла на сервер через POST запрос
Нужно отправить .txt файл на сервер, как это можно реализовать?

Получение ответа на POST запрос
Привет ребят. Чет совсем завис. Отправляю Post запрос. public string http_post(string url, string filepath) { ...

[XNet] Получение POST-запроса через редирект
Делаю на сайт GET запрос и получаю куки. Потом отправляю POST запрос. Все 1 в 1 как с браузера, но с браузера идет редирект на нужною...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru