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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка SMS 
:(
    Опции темы
bossru
Дата 5.6.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем!!! Возникла проблема с отправкой sms сообщения, проблема заключается в том что не могу получить картинку (с защитным кодом) с сайта...как это сделать??? Оператор не поддерживает отправку через e-mail, поэтому мучаюсь и отправляю через сайт!!!Заранее большое спасибо!!!
PM MAIL ICQ   Вверх
aktuba
Дата 5.6.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А в чем именно трудность? Ты бы или ссылку дал или код показал...


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


Новичок



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

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



Оператор Билайн...ссылка http://www.beonline.ru/portal/comm/send_sm...le_send_sms.sms 
PM MAIL ICQ   Вверх
aktuba
Дата 5.6.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



И что не получается? Тебе просто надо найти строку "/servlet/send/confirm_code" и вырезать ее + все что идет до кавычки. Потом добавляешь в начало http://www.beonline.ru и получаешь что-то наподобии http://www.beonline.ru/servlet/send/confir.../9ir3rs3ZWI.gif Теперь скачиваешь по этому адресу картинку и отображаешь. Что именно из этого не получается?


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


Новичок



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

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



Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label2: TLabel;
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Label3: TLabel;
    GroupBox2: TGroupBox;
    Image1: TImage;
    Edit3: TEdit;
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    IdAntiFreeze1: TIdAntiFreeze;
    procedure FormCreate(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  get:string;

implementation

{$R *.dfm}

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 TForm1.FormCreate(Sender: TObject);
var
pos1,pos2,pos3:integer;
img:string;
begin
Application.ProcessMessages;
IdAntiFreeze1.Process;
try
get := IdHTTP1.Get('http://beesms.beeline.ua/');
except
Application.MessageBox('Не удается подключиться к Beeline, проверте подключение к интернету','Error',mb_OK);
end;
pos1 := pos('SRC="..',get);
delete(get,1,pos1+7);
pos2 := pos('"',get);
img := 'http://beesms.beeline.ua/' + copy(get,1,pos2-1);
GetInetFile(img,'code.jpg');
Image1.Picture.LoadFromFile('code.jpg');
end;



procedure TForm1.Memo1Change(Sender: TObject);
begin
Label3.Caption := IntToStr(142-length(Memo1.Text)) + ' символов осталось';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Post:TStrings;
Q:string;
pos1,pos2:integer;
begin
Application.ProcessMessages;
IdAntiFreeze1.Process;
Post := TStringList.Create;
Post.Clear;
Post.Add('op=send_sms');
Post.Add('dlina=142');
if RadioButton1.Checked=true then
begin
Post.Add('lg=latukr');
Post.Add('lang=latukr');
end;
if RadioButton2.Checked=true then
begin
Post.Add('lg=latrus');
Post.Add('lang=latrus');
end;
Post.Add('phone_num=38068'+Edit2.Text);
Post.Add('text_message='+Memo1.Text);
Post.Add('message_limit='+IntToStr(142-length(Memo1.Text)));
Post.Add('code_form='+Edit3.Text);
Post.Add('submit=отправить');
Q := IdHTTP1.Post('http://beesms.beeline.ua/',Post);
pos1 := pos('Сообщение отправлено',Q);
if pos1<>0 then
begin
Application.MessageBox('Сообщение отправлено!','sms',mb_OK);
end
else
begin
Application.MessageBox('Ошибка при отправке сообщения','sms',mb_OK);
end;
end;

end.


PM MAIL   Вверх
bossru
Дата 5.6.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А что вписывать вот сюда в моем случае:

GetInetFile(img,'code.jpg');    
Image1.Picture.LoadFromFile('code.jpg'); 

заместо code.jpg ????
PM MAIL ICQ   Вверх
ppc
Дата 5.6.2007, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



img - это переменная проверочного кода
PM MAIL   Вверх
bossru
Дата 9.6.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, WinInet, ScktComp, jpeg, IdAntiFreezeBase,
  IdAntiFreeze, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, IdMessageClient, IdIMAP4, Animate, GIFCtrl, RXSwitch;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label2: TLabel;
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Label3: TLabel;    
    GroupBox2: TGroupBox;    
    Edit3: TEdit;    
    Button1: TButton;    
    IdHTTP1: TIdHTTP;
    IdAntiFreeze1: TIdAntiFreeze;
    RxGIFAnimator1: TRxGIFAnimator;
    Image1: TImage;
    RxSwitch1: TRxSwitch;
    procedure FormCreate(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  get:string;
implementation    
{$R *.dfm}    
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 TForm1.FormCreate(Sender: TObject);    
var    
pos1,pos2,pos3:integer;    
img:string;    
begin    
Application.ProcessMessages;    
IdAntiFreeze1.Process;    
try
get := IdHTTP1.Get('http://www.beonline.ru/');
except
Application.MessageBox('Íå óäàåòñÿ ïîäêëþ÷èòüñÿ ê Beeline, ïðîâåðòå ïîäêëþ÷åíèå ê èíòåðíåòó','Error',mb_OK);    
end;    
pos1 := pos('SRC="..',get);    
delete(get,1,pos1+7);    
pos2 := pos('"',get);
img := 'http://www.beonline.ru/servlet/send/confirm_code/' + copy(get,1,pos2-1);
GetInetFile(img,'9ir3rs3ZWI.gif');
image1.picture.LoadFromFile('9ir3rs3ZWI.gif');
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin    
Label3.Caption := IntToStr(142-length(Memo1.Text)) + ' ñèìâîëîâ îñòàëîñü';    
end;    
procedure TForm1.Button1Click(Sender: TObject);    
var    
Post:TStrings;    
Q:string;    
pos1,pos2:integer;    
begin    
Application.ProcessMessages;    
IdAntiFreeze1.Process;    
Post := TStringList.Create;    
Post.Clear;    



Post.Add('phone='+Edit2.Text);
Post.Add('message='+Memo1.Text);

Post.Add('confirm_key='+Edit3.Text);
Post.Add('send');
Q := IdHTTP1.Post('http://www.beonline.ru/',Post);
pos1 := pos('Ñîîáùåíèå îòïðàâëåíî',Q);    
if pos1<>0 then    
begin
Application.MessageBox('Ñîîáùåíèå îòïðàâëåíî!','sms',mb_OK);
end    
else    
begin    
Application.MessageBox('Îøèáêà ïðè îòïðàâêå ñîîáùåíèÿ','sms',mb_OK);    
end;    
end;
end.


Вот моя программа...не могу понять почему sms не отправляется!!! Пожалуйста помогите
PM MAIL ICQ   Вверх
aktuba
Дата 9.6.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



bossru, выложи в качестве аттача. Мне, например, влом переносить код отсюда...


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


Новичок



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

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



вот исходник...

кстати снифером проверил данные которые отпровляются скрипту...вроде все так же сделал...только вот как кнопке для отправки послать запрос...??? 
Код

<TD ALIGN="RIGHT"><a href="javascript:;" onclick="return onSend();"><IMG SRC="/images/btn/btn_send.gif" BORDER="0" WIDTH="80" HEIGHT="20" CLASS="formimage" ALT="отправить"></a>


как я понял тут работает javascript

Это сообщение отредактировал(а) bossru - 9.6.2007, 18:52

Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  sms.zip 11,96 Kb
PM MAIL ICQ   Вверх
aktuba
Дата 9.6.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

кстати снифером проверил данные которые отпровляются скрипту...вроде все так же сделал...


Да ну??? Точно проверил сниффером? Вот я проверил и получил следующее. Вот то, что отправляет твоя программа:
Цитата

phone=9033101468&message=123&confirm_code=6900&send


а вот что отправляет браузер:
Цитата

deferto=&adv_year=&send=send&confirm_key=ZXCsc_ZlWJ&confirm_code=0672&destination_number_from=ordinary&phone=9629397253&message=Test&mlength=138&phone_answer_number=


Не правда ли намного больше? В частности ты не передаешь confirm_key, что очень важно, как я понимаю...

P.S. кстати, а что это еще такое:
Код

post.Add('send');


посмотри, что отправляет браузер:
Цитата

send=send



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


Новичок



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

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



а что такое confirm_key=??? И откуда его взять....за счет чего он генерируется
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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