首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi idhttp控件读取验证码有关问题

2012-11-19 
delphi idhttp控件读取验证码问题网址 http://218.205.192.16就这个网站的验证码。如何读取到?该网站在运行

delphi idhttp控件读取验证码问题
网址 http://218.205.192.16
就这个网站的验证码。如何读取到?
该网站在运行后,源代码中就有验证码可以读取出来。!
求怎么读?

[解决办法]
新建工程、双击窗体,将下列代码覆盖你的Unit1全部内容:

Delphi(Pascal) code
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, OleCtrls, SHDocVw, ExtCtrls, IdHTTP, jpeg;type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);  private    { Private declarations }    procedure Button1Click(Sender: TObject);  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}var WebBrowser1:TWebBrowser;    Button1:TButton;    Image1: TImage;procedure TForm1.FormCreate(Sender: TObject);begin  Caption:='中国软件研发联盟Q群122058606_广州佬';  Height:=360;  Width:=580;  Position:=poScreenCenter;  Button1:=TButton.Create(self);  Button1.Parent:=Form1;  Button1.Left:=450;  Button1.Top:=260;  Button1.Caption:='获取';  Button1.OnClick:=Button1Click;  WebBrowser1:=TWebBrowser.Create(self);  TWinControl(WebBrowser1).Parent:=Form1;  WebBrowser1.Navigate('about:blank');  WebBrowser1.Align:=alLeft;  WebBrowser1.Width:=425;  Image1:=TImage.Create(self);  Image1.Parent:=Form1;  Image1.AutoSize:=true;  Image1.Top:=160;  Image1.Left:=450;  Image1.Height:=40;  Image1.Width:=80;end;procedure TForm1.Button1Click(Sender: TObject);const URL= 'http://218.205.192.16';var s:string;    pic:TJPEGImage;    ms:TMemoryStream;    IdHTTP:TIdHTTP;begin  WebBrowser1.Navigate(URL);  while webbrowser1.ReadyState <>READYSTATE_COMPLETE do      Application.ProcessMessages;  s:=WebBrowser1.OleObject.Document.parentWindow.form1.checkCodeTemp.value;  if s='' then exit;  Canvas.TextOut(450,200,'验证码: '+s);  //以下显示图片:  IdHTTP:=TIdHTTP.Create(self);  try    ms:=TMemoryStream.Create;    try      IdHTTP.Get(URL+'/ucas/user/pasmCheckCode.htm?rand='+s, ms);      ms.Position:=0;      pic:=TJPEGImage.Create;      try        pic.LoadFromStream(ms);        Image1.Picture.Assign(pic);      finally        pic.Free;      end;    finally      ms.Free;    end;  finally    IdHTTP.Free;  end;end;end. 

热点排行