Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка смс, Проблема с отправкой СМС 
:(
    Опции темы
ishimcity
  Дата 1.10.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Люди добрые подскажите в чем проблема.

немогу отправить смс через сайт ...привожу код......
Код

procedure TForm1.Button1Click(Sender: TObject);
var
a:string;
  sl: TStringList;
 
 begin

   sl := TStringList.Create;
      try
        sl.Add('passwd=' + cod.Text );
        sl.Add('&phone_number=' + '7904xxxxxxx');
        sl.Add('&msg=' + '1234567890');            
        sl.Add('&translit=0');
        sl.Add('&mod=' + lmod);
        sl.Add('&cook=' + ris1);                                        'все данные собраны'



          IdHTTP1.AllowCookies:= True;
             IdHTTP1.HandleRedirects:= True;
           IdHTTP1.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
         idHTTP1.Request.ContentType:='application/x-www-form-urlencoded';
     IdHttp1.Post('http://wap.erobum.ru/sms/utel.php?do=send', sl);                        'ЗАСЫЛАЕМ'
      finally
        sl.Free;
      end;

' И нечего нет'


end;

procedure TForm1.FormCreate(Sender: TObject);  'При загрузке получаю картинку и кук'
const
C_Url='tmp/';
C_Cod='name="cook" value="';
var
  txt,ris,txt1,ss,lres: string;
  sPos, fPos,spos1,fpos1,lpos,lpos2: Integer;
  ltxt,ltxt1: Integer;
  lStream: TMemoryStream;
  jpg: TJPEGImage;
begin
txt := IdHTTP1.Get('http://wap.erobum.ru/sms/utel.php');      'Ищим картинку'
  sPos := Pos(C_Url, txt);
  if sPos > 0 then
    begin
      ltxt := Length(C_Url);
      Inc(sPos, ltxt);
      fPos := sPos;
      while (fPos <= ltxt) and (txt[sPos] <> '"')
        do Inc(fPos);
      ris:=Copy(txt, sPos, 14);

      if ris <> '' then
        begin
          lStream := TMemoryStream.Create;
          jpg := TJPEGImage.Create;
          try
            IdHTTP1.Get(C_Url + ris , lStream);
            lStream.Position := 0;
            jpg.LoadFromStream(lStream);
            Image1.Picture.Bitmap.Assign(jpg);            'выводим картинку'
          finally
            jpg.Free;
            lStream.Free;

    end;
           txt1 := IdHTTP2.Get('http://wap.erobum.ru/sms/utel.php');   'ищим кук'
  sPos1 := Pos(C_Cod, txt1);
  if sPos > 0 then
    begin
      ltxt1 := Length(C_Cod);
      Inc(sPos1, ltxt1);
      fPos1 := sPos1;
      while (fPos1 <= ltxt1) and (txt1[sPos1] <> '"')
        do Inc(fPos1);
      ris1:=Copy(txt1, sPos1, 32);
         lPos := Pos('<input type="hidden" name="mod" value="', lRes);
  if lPos > 0 then
    begin
      Inc(lPos, 39);
      lPos2 := lPos;
      while lRes[lPos2] <> '"' do Inc(lPos2);
      if lPos2 > lPos then
        lmod := Copy(lRes, lPos, lPos2 - lPos);                   'есть кук'
    end;
    end;
          end;
        end;
    end;




end.


PM MAIL ICQ Skype YIM   Вверх
aktuba
Дата 2.10.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Вот эта часть кода вообще не верная:
Код

sPos1 := Pos(C_Cod, txt1);
  if sPos > 0 then // здесь должно быть if sPos1 > 0 then
    begin
      ltxt1 := Length(C_Cod);
      Inc(sPos1, ltxt1);
      fPos1 := sPos1;
      while (fPos1 <= ltxt1) and (txt1[sPos1] <> '"') // ЭТО КАК??? "пока позиция в тексте меньше длины заготовки????
        do Inc(fPos1);
      ris1:=Copy(txt1, sPos1, 32); // ну и далее...
         lPos := Pos('<input type="hidden" name="mod" value="', lRes);
  if lPos > 0 then
    begin
      Inc(lPos, 39);
      lPos2 := lPos;
      while lRes[lPos2] <> '"' do Inc(lPos2);
      if lPos2 > lPos then
        lmod := Copy(lRes, lPos, lPos2 - lPos);                   'есть кук'
    end;
    end;
          end;
        end;
    end;



--------------------
user posted image
PM MAIL WWW Skype   Вверх
ppc
Дата 6.10.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 5.6.2007

Репутация: нет
Всего: нет



Могу поделиться своим вариантом

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, wininet, IdAntiFreezeBase, IdAntiFreeze,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
  ExtCtrls, JPEG, Buttons;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    GroupBox1: TGroupBox;
    Memo1: TMemo;
    Label2: TLabel;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    GroupBox3: TGroupBox;
    IdHTTP1: TIdHTTP;
    IdAntiFreeze1: TIdAntiFreeze;
    Image1: TImage;
    Edit2: TEdit;
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    Label3: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  chars,done,br:integer;

implementation

{$R *.dfm}

procedure check;
begin
br := 0;
if form1.ComboBox1.Text='' then
begin
showmessage('Выбирите оператора!');
br := 1;
exit;
end;
if form1.Edit1.Text='' then
begin
showmessage('Введите номер телефона!');
br := 1;
exit;
end;
if form1.Edit2.Text='' then
begin
showmessage('Введите код!');
br := 1;
exit;
end;

end;


function GetInetFile
(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
Application.ProcessMessages;
 Result:=False;
 sAppName := ExtractFileName(Application.ExeName);
 hSession := InternetOpen(PChar(sAppName),
                INTERNET_OPEN_TYPE_PRECONFIG,
               nil, nil, 0);
 try
  hURL := InternetOpenURL(hSession,
            PChar(fileURL),
            nil,0,0,0);
  try
   AssignFile(f, FileName);
   Rewrite(f,1);
   repeat
    InternetReadFile(hURL, @Buffer,
                     SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen)
   until BufferLen = 0;
   CloseFile(f);
   Result:=True;
  finally
   InternetCloseHandle(hURL)
  end
 finally
  InternetCloseHandle(hSession)
 end
end;


procedure getpicture;
var
pos1,pos2,pos3:integer;
img,get:string;
begin
form1.Panel1.Visible := true;
Application.ProcessMessages;
form1.IdAntiFreeze1.Process;
try
get := form1.IdHTTP1.Get('http://beesms.beeline.ua/');
except
Application.MessageBox('Не удается подключиться к Beeline, проверте подключение к интернету','Error',mb_OK);
form1.Close;
end;
pos1 := pos('SRC="..',get);
delete(get,1,pos1+7);
pos2 := pos('"',get);
img := 'http://beesms.beeline.ua/' + copy(get,1,pos2-1);
try
GetInetFile(img,'code.jpg');
except
Application.MessageBox('Не удается скачать проверочный код, проверте подключение к интернету','Error',mb_OK);
end;
form1.Image1.Picture.LoadFromFile('code.jpg');
form1.Panel1.Visible := false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
done := 0;
chars := 119;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
if done=0 then
begin
getpicture;
end;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
getpicture;
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
if radiobutton3.Checked=true then
begin
chars := 29;
label2.Caption := 'Осталось символов ' + inttostr(chars - length(memo1.Text));
end;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if radiobutton2.Checked=true then
begin
chars := 119;
label2.Caption := 'Осталось символов ' + inttostr(chars - length(memo1.Text));
end;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if radiobutton1.Checked=true then
begin
chars := 119;
label2.Caption := 'Осталось символов ' + inttostr(chars - length(memo1.Text));
end;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
label2.Caption := 'Осталось символов ' + inttostr(chars - length(memo1.Text));
memo1.MaxLength := chars;
end;


procedure sms;
var
posturl,r:string;
data:TStrings;
begin

check;
if br=1 then
begin
exit;
end;

//
posturl := 'http://beesms.beeline.ua/';
//

try
data := TStringList.Create;
data.Clear;
except
data.Clear;
end;

data.Add('dlina='+inttostr(chars));
if form1.RadioButton1.Checked=true then
begin
data.Add('lg=latukr');
data.Add('lang=latukr');
end;
if form1.RadioButton2.Checked=true then
begin
data.Add('lg=latrus');
data.Add('lang=latrus');
end;
if form1.RadioButton3.Checked=true then
begin
data.Add('lg=rus');
data.Add('lang=rus');
end;
data.Add('num_pref=' + form1.ComboBox1.Text);
data.Add('phone_num=' + trim(form1.Edit1.Text));
data.Add('text_message=' + form1.Memo1.Text);
data.Add('code_form=' + form1.Edit2.Text);
data.Add('op=send_sms');


try
r := form1.IdHTTP1.Post(posturl,data);
except
showmessage('Не удалось отправить сообщение!');
exit;
end;

if pos('Сообщение отправлено',r)<>0 then
begin
showmessage('Сообщение успешно отправлено');
end
else
begin
showmessage('Сообщение не отправлено!');
end;

//last end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
sms;
end;

end.


PM MAIL   Вверх
ishimcity
Дата 6.10.2007, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Да спасибо. Но а как бысть с МТС там такие коды защиты.мне делфя сообщяет что строка большее 255 символов и пишет ошибку,хотя код правильный....
PM MAIL ICQ Skype YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1095 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.