如何用TIdHTTP控件从https下载图片
需要从微信下载一张二维码图片,URL地址是:https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQHN8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL1JFem1oTURsN1BtVjdpaWNZbUxqAAIEQ6aZVwMEgFEBAA==
这个URL地址是https的,我给TIdHTTP的IOHandler连接了一个TIdSSLIOHandlerSocketOpenSSL,同时也引入了libeay32.dll和ssleay32.dll,但是get得到的结果却是得到一个提示没有访问权限的页面。
begin
mem_Stream := TMemoryStream.Create;
try
url := 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQHN8DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL1JFem1oTURsN1BtVjdpaWNZbUxqAAIEQ6aZVwMEgFEBAA==';
idhttp1.IOHandler := IdSSLIOHandlerSocketOpenSSL1; // IdSSLIOHandlerSocketOpenSSL1的SSLOptions的method已经设置为sslvSSLv23了。
IdHTTP.Get(url, mem_Stream);
mem_Stream.Position:= 0;
mem_Stream.SaveToFile('C:/qrcode.jpg');
finally
mem_Stream.Destroy;
end;
end;