|
#1
|
|||
|
|||
Google Translate
Добрый день знатоки! есть такой кусок кода:
Код:
procedure TForm1.Button1Click(Sender: TObject); var IdHTTP1: TidHTTP; Data: TStringList; Response: TStringStream; begin Data:= TStringList.Create; IdHTTP1:= TIdHTTP.Create(nil); data.Add('client=x'); data.Add('text=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82'); data.Add('hl=ru'); data.Add('sl=ru'); data.Add('tl=en'); data.add('multires=1'); data.add('otf=1'); data.add('sc=1'); Response:= TStringStream.Create(''); try IdHTTP1.Post('http://translate.google.ru/translate_a/t', Data, Response); sMemo2.Text := Response.DataString; except sMemo2.Text := 'îøèáêà ;('; end; Data.Free; Response.Free; IdHTTP1.Free; end; Но он напрочь отказывается выполняться, хочу перевести текст с русского на английский Результат выполнения этого кода такой: Код:
{"sentences":[{"trans":"% D0% BF% D1% 80% D0% B8% D0% B2% D0% B5% D1% 82","orig":"%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82","translit":"","src_translit":"%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82"}],"src":"ru","spell":{"spell_res":"%Д0%БФ%Д1%80%Д0%Б8%Д0%Б2%Д0%Б5%Д1%82","correction_type":[6]},"server_time":4} А думаю что должен быть такой: Код:
{"sentences":[{"trans":"hello","orig":"привет","translit":"","src_translit":"что то"}],"src":"ru","spell":{"spell_res":"что то","correction_type":[6]},"server_time":4} Укажите пожалуйста на мою ошибку! Думаю что, что то не так с передаваемыми параметрами но что то ни как не дотукаю ;( |
#2
|
||||
|
||||
используйте UrlDecode из состава Indy
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#3
|
|||
|
|||
Цитата:
спасибо о великий гуру, но возможно вы меня не так поняли... дело в том что данная функция переведет кракозябры и я получу %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82 ---> привет а мне оно заем? смысл перевода: привет ----> привет, мне нужно с русского на английский никто не поможет? Последний раз редактировалось M.A.D.M.A.N., 31.05.2014 в 09:51. |
#4
|
||||
|
||||
Код:
IdHTTP1.Request.UserAgent:='Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16'; ShowMessage( UTF8Decode( IdHTTP1.Get('http://translate.google.ru/translate_a/t?client=x&text=%D0%AD%D1%82%D0%BE%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82.&hl=ru&sl=ru&tl=en') ) ); Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Божественно! Однозначно лайк!
|
Этот пользователь сказал Спасибо Freeman за это полезное сообщение: | ||
saylar_06 (31.05.2014)
|
#7
|
||||
|
||||
Код:
IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0'; Пишу программы за еду. __________________ |