Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.08.2009, 17:49   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Отправка СМС через сайт

Здравствуйте ! Пишу сейчас программу которая заполняет веб форму вот этого сайта http://www.mts.com.ua/ukr/sendsms.php что бы отправить СМС, все вроде заполняется правильно и т.д. Но нужного ответа я не получаю, то есть программа не переходит на страницу где говорится что сообщение отправлено . . . А после заполнения, опять выкидывает меня на страницу где нужно ввести капчу и что самое главное никакой ошибки не выводит на странице, ну что типа я ввел капчу не верно или еще что-то там (код страницы вывожу в мемо потому по кожу вижу что это опять начальная страница, где нужно ввести телефон, капчу и т.д., ну и конечно же СМС не приходит) . . . Возможно проблема в том, что на странице под кнопкой отправить не совсем пост запрос, а вот эта ерунда - javascriptocument.Data.submit(); ? ? ?

Кстати куки включены в компоненте, вот сам код :

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, StrUtils, JPEG, IdCookieManager;

type
  TBox = class(TForm)
    Go: TButton;
    Image1: TImage;
    Edit1: TEdit;
    Memo1: TMemo;
    ComboBox1: TComboBox;
    HTTP: TIdHTTP;
    CodeEdit: TEdit;
    Memo2: TMemo;
    procedure GoClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    procedure GetCaptcha;
  public
  end;

var
  Box: TBox;

implementation

{$R *.dfm}

function Step(Code: string): Boolean;
var
  Parameters, R: TStringList;
begin
  Parameters := TStringList.Create;
  R := TStringList.Create;
  Parameters.Add('script=/ukr/sendsms.php');
  Parameters.Add('sms_tag_id=3');
  Parameters.Add('network1=38066');
  Parameters.Add('phone1=1111111');
  Parameters.Add('message=!!!');
  Parameters.Add('lang=lat');
  Parameters.Add('captcha=' + Code);
  R.Text := Box.HTTP.Post('http://www.mts.com.ua/ukr/sendsms.php', Parameters);
  Box.Memo2.Text := R.Text;
  Result := (Pos('Ваше SMS-повідомлення відіслано', R.Text) > 0);
  Parameters.Free;
  R.Free;
end;

procedure TBox.GoClick(Sender: TObject);
begin
  if Step(CodeEdit.Text) then
     ShowMessage('Sending ! ! !');
end;

procedure TBox.FormShow(Sender: TObject);
begin
  GetCaptcha;
end;

procedure TBox.GetCaptcha;
var
  S, T: string;
  I, P: Integer;
  Captcha: TMemoryStream;
begin
  S := HTTP.Get('http://www.mts.com.ua/ukr/sendsms.php');
  P := Pos('/back/modules/golden/captcha.php?', S);
  Delete(S, 1, P);
  for I := 1 to Length(S) do
      if S[I] <> '"' then
         T := T + S[I]
      else
         Break;
  Captcha := TMemoryStream.Create;
  HTTP.Get('http://www.mts.com.ua/' + T, Captcha);
  Captcha.Seek(0, 0);
  Captcha.SaveToFile('Captcha.Jpg');
  Image1.Picture.LoadFromFile(GetCurrentDir + '\Captcha.Jpg');
  DeleteFile(GetCurrentDir + '\Captcha.Jpg');
  Captcha.Free;
end;

end.
RIO вне форума
Старый 21.08.2009, 18:27   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

первое что я заметил...уда ты отправляешь запрос...а куда надо?
Цитата:
/back/modules/sms/db_sms.php
относительный путь...но запрос идет туда.
потому ты и получаешь туже страницу что была
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 21.08.2009, 18:46   #3
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Пепел Феникса, огромное спасибо, помогло, теперь СМС приходит И я понял как Вы узнали это Спасибо еще раз !

Последний раз редактировалось RIO; 21.08.2009 в 18:48.
RIO вне форума
Старый 14.09.2009, 23:24   #4
stalkersts
Новичок
Джуниор
 
Регистрация: 20.03.2009
Сообщений: 1
По умолчанию Проблема с post запросом на http://www.jeans.com.ua/ru/sms

Что то у меня не получается получить положительный ответ от сервера http://www.jeans.com.ua/ru/sms.
Все отлично получилось! Спасибо Пепел Феникса за подсказку RIO! Она мне очень помогла...

Последний раз редактировалось stalkersts; 15.09.2009 в 11:18.
stalkersts вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка СМС через интернет (Мегафон урал - скрипт) FullZero13 Общие вопросы по Java, Java SE, Kotlin 2 20.08.2009 13:23
Отправка СМС по ICQ mish@ Работа с сетью в Delphi 25 05.07.2009 17:01
Отправка СМС basker2007 Работа с сетью в Delphi 18 18.06.2009 11:05
Отправка СМС. doniyor Работа с сетью в Delphi 1 12.01.2009 14:03
ICQClient отправка смс DOLBY Работа с сетью в Delphi 0 06.10.2008 10:24