用idhttp 如何下载验证码
用idhttp 如何下载验证码
http://passport.taskcn.com/login
下载这里的验证码到本机,如何实现,好像是bmp 格式的。
[解决办法]
不是bmp的,是png格式。用下列代码即可获得:
......
uses pngimage;
{$R *.dfm}
function GetVerifyPic(IdHTTP:TIdHTTP;Img:TImage):boolean;
var
ms:TMemoryStream;
PNG:TPNGObject;
begin
Result:=False;
try
ms:=TMemoryStream.Create;
try
IdHTTP.Get('http://passport.taskcn.com/authimg',ms);
ms.Position:=0;
png:=TPNGObject.Create;
try
png.LoadFromStream(ms);
Img.Picture.Assign(png);
finally
png.Free;
end;
finally
ms.Free;
end;
Result:=true;
except
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
GetVerifyPic(idhttp1,Image1);
end;
.......