鱼C论坛

 找回密码
 立即注册
查看: 2585|回复: 4

哪位大神帮我看下 这段程序困扰我3天了

[复制链接]
发表于 2014-3-10 14:08:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这段程序的目的是拉腾讯一个验证码到 image1里
三个控件 button  idhttp image  use 加入 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:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-10 17:38:06 | 显示全部楼层
idhttp访问https需要加个IdSSLIOHandlerSocketOpenSSL吧,不然会出错,具体我也没试过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-10 17:40:15 | 显示全部楼层
这是我以前写的获取验证码代码,不过是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创建了,用完记得释放,不然有内存泄露问题

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-10 17:42:24 | 显示全部楼层
模拟登录手机网页版的腾讯微博吧,比这个简单多了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-10 18:51:14 | 显示全部楼层
comeheres  大神威武。
手机网页的之前找人做过一个软件只能维持很短的时间。 aip的网页登陆确确实实可以到达1年的时间。转播收听的限制也少一些。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表