Delphi. Indy. Проблема с русскими символами и решение

Проблема

При отправке запросов, при помощи компонента idHTTP возникает проблема, если в строке GET запроса или параметрах POST запроса есть русские символы. Понятное дело, это связано с кодировкой! Выглядит это так (в HTTPAnalyzer)

90

Естественно, сервера не в курсах, что за вопросы им присылают)))

Я немного поискал решение в сети. Есть официальное решение на официальном форуме Embarcadero, но оно у меня не сработало. Делал вот так…

89

Что делать, как быть? Менять библиотеку, когда 75% проекта на ней сделано ? Выход нашел следующий.

Решение

 

 

Способ №1 через NetEncoding

Кодируем на клиенте

На сервере раскодируем

Я уже писал об этом в другом посте, но здесь хотел бы привести пример для GET запроса.

Вот простой пример из проекта… Пример GET запроса.

На idHTTPServer в CommandGet можно использовать так…

В результате такого преобразования все работает великолепно !!!

Способ №2 через Base64

Отправка

Прием – пример из проекта

 

This entry was posted in Delphi, Delphi и сети, Indy. Bookmark the permalink.