Появилась такая трабла при GET запросе например на - москва.рф идёт запрос - ??????.??, т.е. внутри инди где-то происходит нехорошая кодировка в моём случае. Проверил на ICS, там всё хорошо уходит и приходит, ну переделывать проект на ICS ой как не хочется. Подскажите кто с таким сталкивался и как с этим боролся?! Заранее спасибо.
Code: try idHTTP1.Get(url, stream); stream.Position := 0; strings := tStringList.Create; strings.LoadFromStream(stream); MText.Assign(strings); [COLOR=Red]MText.Text:=UTF8ToANSI(MText.Text);[/COLOR] strings.Free; finally stream.Free; end; Вот так конвертировал получаемый ответ.
У меня не с ответом проблема, а с запросом на русский домен..вместо русских символов запрос идёт с вопросительными знаками. Например запрос из программы: Code: idHTTP.Get('http://москва.рф'); Запрос в снифере: Code: http://??????.??
Спс, просвятился) Но вообще я привёл наверное не много не правильный пример с доменом. У меня немного иная задача, но похожая проблема. Хост - на латинеце, ответ на каптчу передаётся GET запросом серверу и когда я передаю ответ каптчи, например: Code: IdHTTP.Get('http://block.ru/?answer=яманал'); А через сниффер инди шлёт серверу следующее: Code: IdHTTP.Get('http://block.ru/?answer=??????'); На ICS отсылает всё как надо, а indy че-то плохо себя ведёт.
Такое не катит( URLEncode сервер не хочет воспринимать вообще P.S. Спустя пару часов, всё же мозго..ба проблему удалось решить. Ура, Ура, Ура! Code: IdHTTP.IOHandler.DefStringEncoding := TEncoding.ANSI; А Всё так было просто, жесть