【发布时间】:2015-08-12 21:40:30
【问题描述】:
我想知道如何在 Delphi 中使用协议 https:// 下载文件。我正在使用 idhttp ,但是当我点击下载时它返回错误代码:
-1
点击按钮后,几秒钟后它会终止应用程序。
uses: IdHTTP, IdSSLOpenSSL;
IdHTTP1 := TIdHTTP.create(nil);
try
IdHTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP1.Request.Accept := 'text/html, */*';
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.HandleRedirects := True;
IdHTTP1.get(FNomeArq,MS);
Ms.Seek(0,soFromBeginning);
header := IdHTTP1.Response.ContentType;
except on E : EIdHTTPProtocolException do begin
showmessage(intToStr(IdHTTP1.ResponseCode));
end;
on E: EIdSocketError do begin
showmessage(intToStr(IdHTTP1.ResponseCode));
end;
on E: Exception do begin
showmessage(intToStr(IdHTTP1.ResponseCode));
end;
end;
【问题讨论】:
-
引发了什么异常类?什么是错误信息。如果您只是停止尝试处理异常,您可能会得到一些有用的信息。
-
什么平台?您的可执行文件所在的目录中是否有 OpenSSL 库文件?
-
这是在您抑制错误时发生的情况。请不要那样做。你已经竭尽全力让自己的生活变得艰难。你应该学会避免处理异常。
-
如果这是针对 iOS 的,请参见此处:community.embarcadero.com/index.php/blogs/entry/…
标签: delphi delphi-xe5