如何在Delphi中进行HTTPS POST请求?
发布时间:2020-12-15 06:10:20 所属栏目:大数据 来源:网络整理
导读:在Delphi中执行HTTPS POST请求的最简单方法是什么?我没有提出HTTP POST请求的问题,但是如何使用SSL?我已经google了,没有找到任何解释这个很好的东西. 这是我试过的代码: procedure TForm1.FormCreate(Sender: TObject);var responseXML:TMemoryStream; re
在Delphi中执行HTTPS POST请求的最简单方法是什么?我没有提出HTTP POST请求的问题,但是如何使用SSL?我已经google了,没有找到任何解释这个很好的东西.
这是我试过的代码: procedure TForm1.FormCreate(Sender: TObject); var responseXML:TMemoryStream; responseFromServer:string; begin responseXML := TMemoryStream.Create; IdSSLIOHandlerSocketOpenSSL1 := TIdSSLIOHandlerSocketOpenSSL.Create(self); with idSSLIOHandlerSocketOpenSSL1 do begin SSLOptions.Method := sslvSSLv2; SSLOptions.Mode := sslmUnassigned; SSLOptions.VerifyMode := []; SSLOptions.VerifyDepth := 0; host := ''; end; IdHTTP1 := TIdHTTP.Create(Self); with IdHTTP1 do begin IOHandler := IdSSLIOHandlerSocketOpenSSL1; AllowCookies := True; ProxyParams.BasicAuthentication := False; ProxyParams.ProxyPort := 0; Request.ContentLength := -1; Request.ContentRangeEnd := 0; Request.ContentRangeStart := 0; Request.Accept := 'text/html,*/*'; Request.BasicAuthentication := False; Request.UserAgent := 'Mozilla/3.0 (compatible; Indy Library)'; HTTPOptions := [hoForceEncodeParams]; end; responsefromserver := IdHTTP1.Post('https://.../','name1=value1&name2=value2&....'); end; 当我尝试运行它,我得到以下错误: Project myProject.exe raised exception class EFOpenError with message 'Cannot open file "C:...ProjectsDebugWin32name1=value1name2=value2 The system cannot find the file specified'. 我不明白我发送参数,虽然错误听起来像我会发送一个文件. 另外我已经在我的myProject.exe文件夹中包含libeay32.dll和ssleay32.dll. 解决方法
您没有指定您的Delphi版本或indy版本,但是在使用Delphi 2009和HTTPS的捆绑式Indy之前我有一些问题,当我从
indy svn获得最新的源代码时,问题解决了.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |