С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
3 / 3 / 1
Регистрация: 02.08.2011
Сообщений: 12

VK API, IdHTTP1, http/1.1 400 bad request

02.04.2017, 19:19. Показов 2530. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь отправить файл во ВКонтакте

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Получаем сервер для загрузки изображения
String Publ = Edit2->Text;
String Token = Edit3->Text;
String Server = IdHTTP1->Get("https://api.vk.com/method/photos.getWallUploadServer?group_id="+Publ+"&v=5.63&access_token="+Token);
TJSONObject *jObj_search_0 = static_cast<TJSONObject*>(TJSONObject::ParseJSONValue(Server));
TJSONObject *jObj_search_1 = static_cast<TJSONObject*>(jObj_search_0->Get("response")->JsonValue);
TJSONArray *jArr_search_2 = static_cast<TJSONArray*>(jObj_search_1->Get("upload_url")->JsonValue);
Server =  jArr_search_2->ToString();
 
//Загружаем фото
TIdMultiPartFormDataStream *photo = new TIdMultiPartFormDataStream;
photo->AddFormField("photo", "value");
photo->AddFile("photo","1.jpg","");
String Otvet = IdHTTP1->Post(Server, photo);
RichEdit1->Text = Otvet;
Но вылетает ошибка

HTTP/1.1 400 bad request

и, соответственно, в RichEdit1 ничего не отображается.

Причем, если заменить строку

C++
1
String Otvet = IdHTTP1->Post(Server, photo);
на

C++
1
String Otvet = IdHTTP1->Post("https://pu.vk.com/c638518/upload.php?act=do_add&mid=111&aid=-14&gid=111hash=123&rhash=123&swfupload=1&api=1&wallphoto=1", photo);
т.е. указать адрес сервера, который содержится в переменной Server, проблемы не возникает.

Помогите исправить проблему.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2017, 19:19
Ответы с готовыми решениями:

IdHttp и запрос методом get выдает ошибку bad request
нужно отправить запрос на сайт смс рассылки (sms.ru) делаю следующий присваиваю значения idhttp: и отправляю запрос: ...

Ошибки Synapse (HTTP/1.1 400 Bad Request / HTTP/1.1 413 Request Entity Too Large)
Добрый день. При работе с Synapse начали возникать вот такие вот две ошибки (HTTP/1.1 400 Bad Request / HTTP/1.1 413 Request Entity Too...

Ошибка при добавлении данных HTTP Status 400 Bad Request
Добрый день! Столкнулся с новой проблемой, при добавлении данных вылезает данная ошибка. Вроде как даже до сервера данные не доходят в set....

2
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
02.04.2017, 19:49
Адрес сервера в переменной в точности совпадает с тем, что ты привел в качестве примера?
Может там не хватает "начала" вроде https:// или оно выводится без s, что в общем случае приводит к ошибке.
0
3 / 3 / 1
Регистрация: 02.08.2011
Сообщений: 12
02.04.2017, 20:48  [ТС]
Цитата Сообщение от gunslinger Посмотреть сообщение
Адрес сервера в переменной в точности совпадает с тем, что ты привел в качестве примера?
В переменную Server записывается

C++
1
"https://pu.vk.com/c638518/upload.php?act=do_add&mid=111&aid=-14&gid=111&hash=111&rhash=111&swfupload=1&api=1&wallphoto=1"
т.е. https:// имеется.

Если код исправить на:

C++
1
2
3
4
5
6
7
8
String Publ = Edit2->Text;
String Token = Edit3->Text;
String Server = IdHTTP1->Get("https://api.vk.com/method/photos.getWallUploadServer?group_id="+Publ+"&v=5.63&access_token="+Token);
TJSONObject *jObj_search_0 = static_cast<TJSONObject*>(TJSONObject::ParseJSONValue(Server));
TJSONObject *jObj_search_1 = static_cast<TJSONObject*>(jObj_search_0->Get("response")->JsonValue);
TJSONArray *jArr_search_2 = static_cast<TJSONArray*>(jObj_search_1->Get("upload_url")->JsonValue);
Server =  jArr_search_2->ToString();
RichEdit1->Text=Server;
то в RichEdit1 будет отображаться именно нужный адрес.

Добавлено через 53 минуты
Решено.
Проблема в кавычках оказалась
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2017, 20:48
Помогаю со студенческими работами здесь

IdHTTP - как изменить сообщение (HTTP / 1.0 400 Bad Request) на своё?
При возникновении ошибки, IdHTTP выдаёт сообщение HTTP / 1.0 400 Bad Request, как изменить его на своё?

Request.Response ошибка 400 bad request
Добрый день! Прошу помочь с обработкой запросов в Python 2.7.11 Принимать реквест и сохранить на сервере файл из него уже...

400 Bad request
Когда пытаюсь получить инфу с сайта, получаю 400 Bad Request, что делать?? Срочно, прошу!! #pragma optimize(&quot;t&quot;,on) ...

400 Bad Request
Ребят, помогите советом, пожалуйста. я уже устала... Проблема: При попытке воспользоваться Yandex-поиском вылезает: Bad Request ...

Ошибка 400 Bad Request
Формирую вот такой запрос POST: POST index.php HTTP/1.1 Host: risris.cwahi.net Referer: http://risris.cwahi.net/index.php ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru