Так попробуй : PHP: public_key:=Copy(S, Pos('public_key', S)+35, 32); FS:=TFileStream.Create('captcha.png',FMCreate); IdHTTP1.Get('http://www.sms.tele2.ru/get_rni.php?'+public_key, FS); Кстати у меня ко всем вопрос сразу, он нормально сохраняет капчу т.е картинка нормально, все видно, но в image он ее не вставляет... Это я что то не так делаю, или трабла в image?
юзер-агент поставь браузерный пример: PHP: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
У меня нормально капчу сохраняет, с цыфрами.. вопрос в другом, почему когда я пытаюсь ее подгрузить в TImage выходит ошибка : Unknown picture file extension
Вот смотрите что у меня получается : http://letitbit.net/download/75863.75f07d2b5298ff923e98ed74b/BUch.rar.html
PHP: IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)';
блин ну что за глупые вопросы, хоть бы подумал головой! вот где у тебя в проге есть кнопка или что там ещё...после нажатия на неё ты отправляешь данные... и думай теперь куда этот код ставить...
Народ простите конечно за тупые вопросы ,но я ничего не могу сделать пишит ПРИВЕТ ,а мне надо цифры !!! Вот ссыль на то что я сделал ,кому не сложно сделайте и перезалейте !!!!! http://letitbit.net/download/75863.75f07d2b5298ff923e98ed74b/BUch.rar.html
PHP: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, PngImageList, ImgList, IdHTTP, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, StdCtrls, ExtCtrls, IdCookieManager; type TForm1 = class(TForm) Image1: TImage; Edit1: TEdit; Button1: TButton; IdTCPClient1: TIdTCPClient; IdHTTP1: TIdHTTP; PngImageList1: TPngImageList; PngImageCollection1: TPngImageCollection; IdCookieManager1: TIdCookieManager; Button2: TButton; Kod: TComboBox; nomer: TEdit; text: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var public_key, S:string; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var FS:TFileStream; begin IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; S:=IdHTTP1.Get('http://www.sms.tele2.ru/'); IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; public_key:=Copy(S, Pos('public_key', S)+35, 32); IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; FS:=TFileStream.Create('captcha.png',FMCreate); IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; IdHTTP1.Get('http://www.sms.tele2.ru/get_rni.php?public_key='+public_key, FS); IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; FS.Free; IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; Image1.Picture.LoadFromFile('captcha.png'); end; procedure TForm1.Button2Click(Sender: TObject); var Data:TStringList; begin Data:=TStringList.Create; Data.Add('do=send'); Data.Add('smstext='+text.Text); Data.Add('phone_cod='+Kod.text); Data.Add('number='+nomer.Text); Data.Add('sms_text='+text.Text); Data.Add('private_key='+public_key); Data.Add('public_key='+public_key); Data.Add('submit.x=submit.x'); Data.Add('submit.y=submit.y'); S:=IdHTTP1.Post('http://www.sms.tele2.ru/', Data); if Pos('green', S)<>0 then Label1.Caption:='ДА :)' else Label1.Caption:='Нет;)' end; end. Программа работает но с отправкой на сервер данных запутался ,не могу сообразить !!! Помогите пожалуйста юнному программисту !!!!!
0_о buchlord, зачем ты столько раз, юзер агент прописываешь? Сверяй что отправляет браузер и твоя программа, и соображай.
PHP: .... procedure TForm1.Button1Click(Sender: TObject); var FS:TFileStream; begin IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'; S:=IdHTTP1.Get('http://www.sms.tele2.ru/'); public_key:=Copy(S, Pos('public_key', S)+35, 32); FS:=TFileStream.Create('captcha.png',FMCreate); IdHTTP1.Get('http://www.sms.tele2.ru/get_rni.php?public_key='+public_key, FS); FS.Free; Image1.Picture.LoadFromFile('captcha.png'); end; procedure TForm1.Button2Click(Sender: TObject); var Data:TStringList; begin Data:=TStringList.Create; Data.Add('do=send'); Data.Add('smstext='+text.Text); Data.Add('phone_cod='+Kod.text); Data.Add('number='+nomer.Text); Data.Add('sms_text='+text.Text); Data.Add('private_key='+public_key); // Это капча Data.Add('public_key='+public_key); // А это Хеш наверное её ) S:=IdHTTP1.Post('http://www.sms.tele2.ru/', Data); if Pos('green', S)<>0 then Label1.Caption:='ДА :)' else Label1.Caption:='Нет;)' Data.Free; // список освобождать кто будет? end; end. PHP: Data.Add('private_key='+public_key); // Это капча Data.Add('public_key='+public_key); // А это Хеш наверное её ) У тебя капча и ключ одно и тоже.
PHP: var str:string; begin str:=idhttp1.Get('http://vk.com/'); // copy,delete,pos end; или как практикуют через StringList PHP: var str:Tstringlist; tmp:string; i:integer; begin str:=Tstringlist.Create(); str.Text:=idhttp1.Get('http://vk.com/'); for i:=0 to str.count-1 do begin tmp:=str.Strings[i] ; delete(tmp,1,pos('img',tmp)); // copy,delete,pos end; str.Free; end;