Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
stalkerMpro
1 / 1 / 2
Регистрация: 06.12.2012
Сообщений: 9
1

Не работает TIdHttp в С++ Builder XE7

03.12.2014, 10:53. Просмотров 541. Ответов 3
Метки нет (Все метки)

День добрый! Возникла проблема с которой бьюсь уже не один день...
После перехода с XE2 на XE7 инди перестал отправлять русский в post данных.
Перепробовал разные варианты с кодировками, ничто не меняется.
Через снифер показывает, что вместо русского идут вопросительны знаки.
Текс "ру ру" передается как "?? ??". Именно передается так а не принимается на сервере, то-есть проблема при передаче 100%.
Сервер работает с utf8(есть перекодировка на том конце).
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//...
#include <IdHTTP.hpp>
//...
void __fastcall TestIndy() {
  TIdHTTP* IdHTTP = new TIdHTTP(frmReg);
  TStringList* s = new TStringList;
  String result;
  s->Clear();
  s->Add("s1=english");
  s->Add("s2=ру ру");
  IdHTTP->HandleRedirects = true;
  try {
    result = IdHTTP->Post("http://www.ya.ru", s);//url для примера вписал
  }
  catch (...) {
  }
  delete s, IdHTTP;
}
В чем проблема, как думаете? В XE2 все работало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2014, 10:53
Ответы с готовыми решениями:

С++11 & Builder C++ XE7
Вопрос такой, есть ли возможность подключить стандарт C++11 в C++ Builder XE7?

Indy в C++ Builder XE7
Доброго времени суток! версия билдера XE7 версия Indy 10.6.1.5182 в...

Builder c++ xe7 Excel
Добрый день, нужна подсказка как получить информацию из ячейки указанного...

C++ builder xe7 access violation
Здравствуйте. Помогите разобраться... В C++ builder ошибка access violation, а...

ListView в C++Builder XE7 (embarcadero)
Привет всем помогите пожалуйста, как добавить строку в ListView пробовал вот...

3
SatanaXIII
Супер-модератор
Эксперт С++
5773 / 2772 / 376
Регистрация: 01.11.2011
Сообщений: 6,744
Завершенные тесты: 1
03.12.2014, 11:03 2
Проблема в кириллице. Используйте принудительную конвертацию в широкие символы:
C++
10
s->Add( L"s2=ру ру" );
1
stalkerMpro
1 / 1 / 2
Регистрация: 06.12.2012
Сообщений: 9
03.12.2014, 15:22  [ТС] 3
Попробовал, не помогает. Ничего не меняется, также ?? ??
в xe2 когда экспериментировал с кодировками, там хотябы менялось значение передаваемое.
а тут ноль эффекта.

Добавлено через 4 часа 11 минут
Нашел вроде решение.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//...
#include <IdHTTP.hpp>
//...
void __fastcall TestIndy() {
  TIdHTTP* IdHTTP = new TIdHTTP(frmReg);
  String result;
  String Params = "s1=english&s2=ру ру";
  TStringStream * tss=new TStringStream(Params,CP_UTF8); 
  //можно 1251, нужно ли перекодировать вручную, не знаю
  IdHTTP->Request->ContentType="application/x-www-form-urlencoded"; //эта строка обязательна
  IdHTTP->HandleRedirects = true;
  try {
    result = IdHTTP->Post("http://www.ya.ru", tss);//url для примера вписал
  }
  catch (...) {
  }
  delete s, IdHTTP;
}
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
03.12.2014, 15:57 4
stalkerMpro,
C++
1
2
delete s;
delete IdHTTP;
и в место catch использовать __finally
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2014, 15:57

Работа с ресурсам C++ Builder XE7
Разрабатываю программу в C++ Builder XE7. Стало необходимым &quot;засунуть&quot; chm-файл...

C++ Builder XE7 актуально ли ReportMemoryLeaksOnShutdown?
Актуально ли ReportMemoryLeaksOnShutdown=true; в C++ Builder XE7? увижу ли я...

Компиляция ресурса (C++ Builder XE7)
Доброго времени суток) прошу меня извинить похожую тему я уже создавал,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru