哪位大神帮我看下 这段程序困扰我3天了
这段程序的目的是拉腾讯一个验证码到 image1里三个控件 buttonidhttp imageuse 加入 Jpeg。
procedure TForm1.Button1Click(Sender: TObject);
var
Response2: TStringStream;
n :string;
jpg:TJpegImage;
begin
Response2 := TStringStream.Create('');
jpg:=TJpegImage.Create;
n:='https://ssl.captcha.qq.com/getimage?uin=303649128@qq.com&aid=46000101&0.174133981036801.js'; //验证码的抓包地址
idhttp1.Head(n);//这句我不懂 好像要不要都可以
idhttp1.Get(n,Response2);//get 验证码的地址。保存到流里
Response2.Position:=0;//流位置返回开头
jpg.LoadFromStream(Response2);
image1.Picture.Assign(jpg);
end;
之前还有一个思路是把图片下载保存到本地在本机获取。
可是 SAVETOFILE 时候报错 最后放弃了。
求comeheres大神指点迷津:sweat: idhttp访问https需要加个IdSSLIOHandlerSocketOpenSSL吧,不然会出错,具体我也没试过 这是我以前写的获取验证码代码,不过是http的
var
image: TMemoryStream;
jpg: TJPEGImage;
begin
image := TMemoryStream.Create;
IdHTTP1.Get('http://captcha.qq.com/getimage?uin=' + qq_n +
'&aid=24000201&0.9444628176279366', image);
image.Position := 0;
jpg := TJPEGImage.Create;
jpg.LoadFromStream(image);
Image1.Picture.Assign(jpg);
jpg.Free;
image.Free;
end;
还有提醒下你,Response2和jpg创建了,用完记得释放,不然有内存泄露问题
模拟登录手机网页版的腾讯微博吧,比这个简单多了 comeheres大神威武。
手机网页的之前找人做过一个软件只能维持很短的时间。 aip的网页登陆确确实实可以到达1年的时间。转播收听的限制也少一些。
页:
[1]