Пытаюсь сделать отправку смс на билайн делаю так: PHP: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdHTTP, ExtCtrls, StdCtrls, IdMultipartFormData, OleCtrls, SHDocVw, XPMan, IdCookieManager; type TForm1 = class(TForm) Button1: TButton; IdHTTP1: TIdHTTP; WebBrowser1: TWebBrowser; XPManifest1: TXPManifest; Button2: TButton; Edit1: TEdit; Edit4: TEdit; Edit5: TEdit; Label1: TLabel; Label2: TLabel; sms_text: TMemo; Memo1: TMemo; Edit6: TEdit; Edit2: TEdit; IdCookieManager1: TIdCookieManager; WebBrowser2: TWebBrowser; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; s: string; implementation {$R *.dfm} function ParserBlock(const Str:string; const Param1,Param2:string):string; var BeginPos, EndPos:integer; TempStr:string; Begin TempStr:=Str; BeginPos:=AnsiPos(Param1,TempStr)+length(Param1); delete(TempStr,1,beginPos-1); BeginPos:=AnsiPos(Param1,TempStr)+length(Param1); EndPos:=AnsiPos(Param2,TempStr); Result:=copy(TempStr,1,EndPos-1); end; procedure TForm1.Button1Click(Sender: TObject); var str:string; fs:tfilestream; begin str:=idhttp1.get('http://www.beeline.ru/sms/index.wbp'); s:=(ParserBlock(Str, 'ddle"><img src="','" alt="Êîä"><')); webbrowser1.Navigate ('http://www.beeline.ru/'+s+''); Edit5.Text := s; end; procedure TForm1.Button2Click(Sender: TObject); var str: string; data: TStringList; Http : TidHttp; CM : TidCookieManager; sPos: integer; begin data := TStringList.Create; try Http := TIdHTTP.Create(Self); Data := TStringList.Create; CM := TidCookieManager.Create(Http); Http.AllowCookies := true; Http.CookieManager := CM; Http.HandleRedirects := true; data.Add('send=' ); data.Add('smstext='+sms_text.Text); data.Add('smstoprefix=' +Edit2.Text); data.Add('smsto=' +edit1.Text); data.Add('dirtysmstext=' +sms_text.Text); data.Add('translit=' +Edit6.Text); data.Add('confirm_key='); data.Add('confirmcode='+Edit4.Text); data.Add('x=35'); data.Add('y=11'); str := HTTP.Post('http://www.beeline.ru/sms/index.wbp', data); finally Data.Free; CM.Free; Http.Free; end; end; end. Смс не приходит.
PHP: document.forms.sendsms.send.value='send'; Тоесть Code: data.Add('send=send'); Лучше запустить сниффер и отправь одинаковые данные с сайта и с программы, и сверяй где недочет может быть. Я думаю это лишнее, обычно это не обрабатывается в скрипте. PHP: data.Add('x=35'); data.Add('y=11'); P.s. Код лучше почистить, от лишних буковок. Например: PHP: s:=ParserBlock(Str, 'ddle"><img src="','" alt="Êîä"><'); webbrowser1.Navigate ('http://www.beeline.ru/'+s); Еще я не могу понять какую роль выполняет Code: webbrowser1.Navigate ('http://www.beeline.ru/'+s+'');? Загрузка картинки (капчи)? <offtop> Sunstrider, создай новый проект, вот тебе готовый DPR ) </offtop>
я конечно все понимаю, но TWebBrowser то на уя? не проще ли так? Code: uses Jpeg; ... var jpg: TJpegImage; Ms : TMemoryStream; begin Ms := TMemoryStream.Create; jpg := TJpegImage.Create; HTTP.Get(''http://www.beeline.ru/'+s, Ms); Ms.Position := 0; Jpg.LoadFromStream(ms); Image1.Picture.Graphic := jpg; jpg.Free; Ms.Free; end;