Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15

Послать POST запрос

19.12.2015, 22:17. Показов 2394. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые программисты, не хотел создавать новую тему , поэтому решил тут спросить .Пытаюсь загрузить фото к себе в альбом , отправляю пост запросом ответ приходит примерно в таком виде
JSON
1
{"server":627266,"photos_list":"[]","aid":169819278,"hash":"9a0740b8c8ee948b129eb78af35f0d2e","gid":37273781}
Параметр фото_лист пустой .. что не так? передаю файл массивом байт в специальный метод , результат ноль. Уже не знаю что ещё сделать всё перепробовал. уже недели две над этим бьюсь подскажите что сделать как правильно передать файл , а то уже мозг сломал.Спасибо...

Добавлено через 4 часа 22 минуты
Тут есть вообще кто-нибудь ???
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2015, 22:17
Ответы с готовыми решениями:

Послать TCP запрос на веб узел, с другим адресом отправителя
Всем привет. Хотелось бы спросить. Есть ли в C# такое понятие как "сырые сокеты". Проблема самая банальная, нужно накрутить счетчик...

Послать POST запрос запрос с двумя и более параметрами?
Делаю так: string ProxyString = ""; string URI = @"http://www.easyprog.ru/test.php";; string...

Послать post запрос
Нужно программно зарегистрироваться здесь http://jobmas.ru/rabotodatel/register ,на почту должно прийти уведомление, но оно не приходит....

14
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
20.12.2015, 13:15
Цитата Сообщение от meruryi Посмотреть сообщение
Тут есть вообще кто-нибудь ???
а что можно ответить не видя клиентского кода ...
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
21.12.2015, 14:51  [ТС]
Сорри что сразу не выложил код, совсем забыл про это.

вот как-бе сама функция ...
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
31
32
33
34
35
36
37
38
39
40
41
 public void UploadPhotoToAlbum(CookieDictionary cookie , List<byte[]> PhotoData , string album_id , string user_id , string token)
        {
            string server = null;
            string hash = null;
            string fileName = null;
 
            string[] array = Directory.GetFiles("photo");
 
            using (var req = new HttpRequest())
            {
                req.Cookies = cookie;
                req[HttpHeader.Accept] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                req[HttpHeader.AcceptLanguage] = "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3";
                req[HttpHeader.UserAgent] = Http.ChromeUserAgent();
                req[HttpHeader.CacheControl] = "no-cache";
                req[HttpHeader.Referer] = "http://vk.com/album-" + user_id + "-" + album_id;
                
                for (int i = 0; i < PhotoData.Count; i++)
                {
                    req.AddFile("Filename", "photo" + fileName);
 
                    req.AddField("oid", "-" + user_id);
                    req.AddField("aid", album_id);
                    req.AddField("hash", hash);
                    req.AddField("act", "do_add");
                    req.AddField("jpeg_quality", 89);
                    req.AddField("max_files", 200);
                    req.AddField("ajx", 1);
                    req.AddField("photo", "<Place Holder for File>");
                    req.AddField("Upload", "Submit Query");
 
                    HttpResponse resp = req.Post(string.Format("https://api.vk.com/method/photos.getUploadServer?album_id={0}&group_id={1}&access_token={2}", album_id, user_id, token));
 
                    string[] arr = req.Response.ToString().Split('=', '&', ':');
 
                    server = arr[3].Substring("cs", ".");
 
                    hash = arr[12];
                }
            }
        }
На вход принимает пять аргументов это куки, сам файл в виде массива байтов , ID страницы , ID альбома и токен ..
код конечно сырой и не доделанный, но не суть , подскажите как правильно отправить файл ни как не разберусь сам ..спасибо .)

Добавлено через 23 часа 59 минут
Есть кто-нибудь?? Не ужели так трудно ответить...
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
21.12.2015, 16:32
Цитата Сообщение от meruryi Посмотреть сообщение
сам файл в виде массива байтов
вижу список массивов байт, но ни ка не массив байт

приложение вебформы я так понимаю?

что происходит на клиенте, есть какойто код js, или все находится в html форме ?

не пойму где используется метод UploadPhotoToAlbum
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
21.12.2015, 17:42  [ТС]
Цитата Сообщение от Metall_Version Посмотреть сообщение
вижу список массивов байт, но ни ка не массив байт
Да так и есть файлы берутся из папки "photo" в директории программы, каждый файл считывается в массив байтов ,
а уже потом помещается в динамический список который и передаётся в метод.

Цитата Сообщение от Metall_Version Посмотреть сообщение
приложение вебформы я так понимаю?
Нет это WinForms.
JS кода тоже нет всё написано на C#

Цитата Сообщение от Metall_Version Посмотреть сообщение
не пойму где используется метод UploadPhotoToAlbum
Метод UploadPhotoToAlbum находится в отдельном классе , весь код не вижу смысла выкладывать т.к класс довольно громоздкий.. вот как то так..)
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
21.12.2015, 17:50
Цитата Сообщение от meruryi Посмотреть сообщение
Нет это WinForms.
стоило это уточнить, так как раздел Форум C# под Web, ASP.NET

тема перемещена в нужный раздел.
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
25.12.2015, 23:41  [ТС]
Неужели ни кому не чего сказать.. может кто ни будь поможет всё таки??.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
26.12.2015, 14:17
meruryi, метод AddFile() пробовал?
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
26.12.2015, 15:40  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
meruryi, метод AddFile() пробовал?
Да пробовал, в моём посте выше и представлена попытка передачи этим методом..

Цитата Сообщение от meruryi Посмотреть сообщение
req.AddFile("Filename", "photo" + fileName);
Я испробовал все перегрузки , в метод предавал и массивы и потоки конвертанул в base64 , всё бесполезно , результат одинаковый...
Может кто ни будь скинет готовый пример оч прошу , сам ни как не въеду ...
В asp net ничего не шарю..)
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
26.12.2015, 17:57
Цитата Сообщение от meruryi Посмотреть сообщение
Да пробовал, в моём посте выше и представлена попытка передачи этим методом
Проглядел. Смотри примера на хабре значит.

Цитата Сообщение от meruryi Посмотреть сообщение
В asp net ничего не шарю
Он тут и не нужен.
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
26.12.2015, 18:17  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Проглядел. Смотри примера на хабре значит.
Эту статью я уже наизусть знаю. Ничего нового в ней нет!
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
26.12.2015, 18:45
meruryi, значит у тебя есть вся необходимая информация для отправки запроса. Раз код не работает, то бери http отладчик Fiddler и смотри какие запросы отправляет твое приложение и сравни это с правильным запросом из браузера.
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
26.12.2015, 19:06  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
meruryi, значит у тебя есть вся необходимая информация для отправки запроса. Раз код не работает, то бери http отладчик Fiddler и смотри какие запросы отправляет твое приложение и сравни это с правильным запросом из браузера.
Не поверите но и это уже делал, я сравнивал запросы из браузера и приложения сразу несколькими сниферами одновременно. В общем то запросы примерно одинаковы но главный параметр "Fotos_list" в котором закодирован сам файл, всё равно не приходит.
Ума не приложу что не так...
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
26.12.2015, 22:23
meruryi, я не телепат. Надо смотреть весь код. Ты показал только кусок с вызовом photos.getUploadServer. Данный метод не возвращает photos_list. Ошибка, если она есть, скорее всего где-то в другом месте.

Кстати парсить JSON ответ все-таки лучше как JSON, а не с помощью string.Split()
0
 Аватар для meruryi
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 15
27.12.2015, 00:30  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
парсить JSON ответ все-таки лучше как JSON, а не с помощью string.Split()
Спасибо знаю но я пока что плохо представляю как работать с json данными в c# поэтому сделал как проще и быстрее можно сказать на коленке, вылизывать потом буду.))
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Данный метод не возвращает photos_list. Ошибка, если она есть, скорее всего где-то в другом месте.
Да действительно не возвращает. Но в документации к api говорится что ответ приходит в json формате.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2015, 00:30
Помогаю со студенческими работами здесь

Послать POST запрос с параметрами и получить json
Всем привет! Столкнулся с проблемой. Как послать POST запрос и получить назад результат json. Опишу подробно: Есть апи сайта, на...

Как из Java-приложения послать POST-запрос с параметрами?
С GET понятно: String s='http://localhost/MyWEB/Page1.asp?p1=1&amp;p2=2&amp;...'; URL url=new URL(s); HttpURLConnection con=...

Visual basic. Как послать POST запрос скрипту на сервере?
Я далеко не профессионал в программировании, потому и задаю этот, наверно странный вопрос. Вот например если у нас есть HTML страница с...

Как можно правильно послать запрос через WinInet методом 'POST'?
Кто знает, как можно правильно послать запрос через WinInet методом 'POST'?. Это нужно при заполнении web-формы. Ну, например нужно...

Послать сообщение методом HTTP POST
Имеется задача: методом HTTP POST (требование заказчика) отправить сообщение (текст) в XML формате на клиентский web сервер (возможно, у...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru