![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте.
Маюсь уже сутки.. Перерыл столько форумов и разных источников, что мне уже просто плохо... Суть заключается в следующем. Есть у меня программа. Написана она у меня на TDelphi7. В программе присутствует момент авторизации, к-й я реализовал через IdHttp.Post. (На Седьмой делфи всё работает, но там Инди лаганутый). Решил я поставить Delphi XE2. И заметил ужасающий момент: Я делаю Post запрос на сервер. Некоторые из полей является словами, написанные кириллицей. А именно: ... Log.Add('subent=Войти'); Log.Add('kanswer='+(Edit1.Text)); //Ввод ответа на контрольный вопрос (рус). ... Начал компилировать свой проект, и увидел, что авторизация не проходит. Сильно удевился, и решил проанализировать через HttpАнализатор, что и как я отсылаю... И получил следующее: ... subent=Войти kanswer=линка ... Вот такой вот формат отсылает моя делфи на сервак. (и, разумеется, авторизация не проходит). ___________________ Я уже просто без сил. Не спал всю ночь. Если кто знает как решить этот вопрос, пожалуйста помогите. Готов заплатить 10$ за помощь (насколько простой бы она не была). Skype: Antoxachelsea (готов вас выслушать там). |
#2
|
||||
|
||||
![]() преобразуй значения в %xx%xx%xx%xx...
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Цитата:
Каким образом мне его преобразовывать вот в это? |
#4
|
||||
|
||||
![]() Quoted Printable.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
![]() %D0%BB%D0%B8%D0%BD%D0%BA%D0%B0 - ну вот... получил я перекодировщик. Однако мне это совсем не помогло. =(
|
#6
|
||||
|
||||
![]() %C2%EE%E9%F2%E8 и 2-ой также
Пишу программы за еду. __________________ |
#7
|
|||
|
|||
![]() Не помогает этот способ.... Отправка поменялась на эти иероглифы. Но всёравно авторизация не проходит...
КАК сделать так, чтобы отправились в POST запросе нормальные русские буквы??? Чтобы у меня была строка 'мячик' и после Post запроса сервер получил 'мячик'. => Собственно как и получалось в Delphu 7. |
#8
|
|||
|
|||
![]() Цитата:
Сделал так. Вот что мне теперь HttpАнализотор показал: subent=%D0%92%D0%BE%D0%B9%D1%82%D0%B8 kanswer=%D0%BB%D0%B8%D0%BD%D0%BA%D0%B0 -- вообщем то, чего мы и добивались... Только авторизация не прошла всёравно ... |
#9
|
||||
|
||||
![]() Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
antoxachelsea (12.07.2012)
|
#10
|
|||
|
|||
![]() Цитата:
Если вы понимаете, объясните пожалуйста. Спасибо. |
#11
|
||||
|
||||
![]() У тебя текст отправляется в кодировке UIF-8, перекодируй в ANSI, может получится.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
|||
|
|||
![]() Цитата:
Мне нужно, чтобы на сервер отправилась именно русское слово. А Indy делает что-то непонятное.. |
#13
|
||||
|
||||
![]() Цитата:
А чего не понятно-то? Используй TStringStream для отправки данных в методе http.post. В нем можно указывать кодировку при создании. Укажи 1251. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
antoxachelsea (12.07.2012)
|
#14
|
|||
|
|||
![]() Цитата:
Дело в том, что для отправки POST запроса я исп. след конструкцию: Код:
ssylka:='ССЫЛКА'; Log:=TstringList.Create; Log.Add('wmid='+Unit1.wmid); Log.Add('pass='+Unit1.pas); Log.Add('subent=Войти'); Log.Add('kanswer='+(Edit1.Text)); Log.Add('cnum='+Edit2.Text); StrPage1:=idhttp1.Post(ssylka, Log); Вы предлагаете сделать замену TstringList? Я просто не совсем понимаю конструкцию в данном случае... Подскажите тогда куском кода, как это наглядно должно выглядеть.. |
#15
|
||||
|
||||
![]() Цитата:
попробуй вот так: Код:
ssylka:='ССЫЛКА'; Log:=TstringList.Create; Log.Add('wmid='+Unit1.wmid); Log.Add('pass='+Unit1.pas); Log.Add('subent=Войти'); Log.Add('kanswer='+(Edit1.Text)); Log.Add('cnum='+Edit2.Text); s:=TStringStream.Create(log.Text,1251); StrPage1:=idhttp1.Post(ssylka, s); Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
antoxachelsea (12.07.2012)
|