在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:\...\Projects\Debug\Win32\name1=value1name2=value2 The system cannot find the file specified'.
另外我已经在我的myProject.exe文件夹中包含libeay32.dll和ssleay32.dll.
解决方法
原文地址:https://www.jb51.cc/delphi/102633.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。