Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.07.2010, 03:33
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию Отправа POST запроса в форму

Помогите отправить правильно запрос, сделал пол программы, программа уже умеет получать картинку капчи, а вот отправлять обратно не могу научить. При отправке прога просто закрываеться и все...
сайт
irk.ru/sms/
то что идет с браузера
http://www.pictureshack.ru/images/6881123.JPG
то что шлет прога
http://www.pictureshack.ru/images/3585321.JPG

Код HTML:
procedure TForm1.Button1Click(Sender: TObject); var data:TStringList; begin data:= TStringList.Create; try data.Add('_method POST'); data.Add('irk '+Edit2.Text); data.Add('data[_name] Sms'); data.Add('data[Sms][number] '+ComboBox1.Text); data.Add('data[Sms][massage] peter888 русский текст'); data.Add('data[Sms][code] '+edit1.Text); IdHTTP1.Post('http://www.irk.ru/sms/', data); finally data.Free; end; end;
что не так?
на форме есть кнопка "отправить", её нужно как то тоже нажать?
Ответить с цитированием
  #2  
Старый 24.07.2010, 08:36
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Код:
data.Add('_method POST'); // Эту строчку нах удали
data.Add('irk='+Edit2.Text); // Названия и значения раздели не пробелами, а знаком =
....
И всё заработает.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 24.07.2010, 14:00
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

На счет _method POST не соглашусь.
Могут возникнуть проблеммы с текстом смс:
1. Придется перегонять в Utf8.
2. Если текст имеет переход на новую строку тобишь #13#10.
Ответить с цитированием
  #4  
Старый 24.07.2010, 16:16
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

data.Add('irk='+Edit2.Text);
Так тоже пробовал, не хочет и так работать, там же отчетливо видно на втором скрине что вообще не чего не посылает методом POST.
Ответить с цитированием
  #5  
Старый 24.07.2010, 16:26
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Код:
var
Data: TStringList;
Otvet: String;
begin
data:= TStringList.Create;
try
data.Add('_method=POST');
data.Add('data[_name]=Sms');
data.Add('data[Sms][number]='+ComboBox1.Text);
data.Add('data[Sms][massage]=peter888 русский текст');
data.Add('data[Sms][code ]='+edit1.Text); //после code уберите пробел а то получается тег [CODЕ]
data.Add('irk='+Edit2.Text);
Otvet:=IdHTTP1.Post('http://www.irk.ru/sms/', data); //получили ответ и смотрим, что там написано
finally
data.Free;
end;
end;

Последний раз редактировалось pesi, 24.07.2010 в 17:18.
Ответить с цитированием
  #6  
Старый 24.07.2010, 17:15
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

ВСЕМ спс, проблема была чуть в другом, но = тоже на до было! С русским текстом скорее всего тоже будет проблема, по этому поводу позже отпишусь!
Ответить с цитированием
  #7  
Старый 24.07.2010, 17:34
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

data.Add('data[Sms][message]=peter888 русский текст');
русский текст вообще не как не приходит!
Ответить с цитированием
  #8  
Старый 24.07.2010, 17:40
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Код:
data.Add('data[Sms][message]='+AnsiToUtf8('peter888 русский текст'));
Ответить с цитированием
  #9  
Старый 24.07.2010, 18:21
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

ОК все работает!
Вобщее это пока так текст вводиться, а по задумке текст из TMemo туда будет поподать.

Чего то оно не хотит с TMemo работать, может есть что то удачнее, подскажие плиз.......

Последний раз редактировалось hunt, 24.07.2010 в 18:34.
Ответить с цитированием
  #10  
Старый 24.07.2010, 18:35
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Приходит только первая строка?
Ответить с цитированием
  #11  
Старый 24.07.2010, 19:33
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

вообще не хочет посылать, а точнее я не знаю как это зделать хочется так
Код HTML:
data.Add('data[Sms][message]='+AnsiToUtf8+(TMemo1.Lines));
но знаю что непавельно, AnsiToUtf8 работает со строками, надо наверное цыкл что бы он по строкам считывал с Мемо и в [Sms][message] загонял, а с другой стороны там строк не надо смс в одну строку можно, просто дизайн программы зделан что там где смс вводишь окно широкое.

Еще одна проблема, то ли сайт, то у меня прога, не дает повторно отправить тот же текст, нужно обязательно менять хотя бы один символ, а в значение результата строницы(
Код HTML:
Otvet:=IdHTTP1.Post('http://www.irk.ru/sms/', data); //получили ответ и смотрим, что там написано
) приходит что смс отправлено!

Последний раз редактировалось hunt, 24.07.2010 в 19:37.
Ответить с цитированием
  #12  
Старый 24.07.2010, 23:34
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Код:
data.Add('data[Sms][message]='+AnsiToUtf8(Memo1.Text));
Или если что так
Код:
data.Add('data[Sms][message]='+AnsiToUtf8(StringReplace(Memo1.Text, #13#10, '', [rfReplaceAll, rfIgnoreCase]));
Ответить с цитированием
  #13  
Старый 25.07.2010, 03:43
Аватар для hunt
hunt hunt вне форума
Прохожий
 
Регистрация: 14.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

у мемо нет свойства техт, там добавляеться по строкам в Lines(Tstring) это массив из строк получается.

Сделал так, data.Add('data[Sms][message]='+AnsiToUtf8(Edit3.Text));
Растянул эдит, можно сделать так что бы текст в эдите писался не в одну строчку, а переходил на следующюю.
Но проблама того что повторно не отправляет тот же текст даже на другой номер не ушла, капчу естественно обнавляю.

Последний раз редактировалось hunt, 25.07.2010 в 03:47.
Ответить с цитированием
  #14  
Старый 25.07.2010, 15:07
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

Как это нет Memo1.Text, куда оно делось?
Ответить с цитированием
  #15  
Старый 26.07.2010, 01:38
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Memo1.Lines.Text... *ROFL* *LOL*
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter