【发布时间】:2018-11-24 03:37:05
【问题描述】:
我在使用 Indy (Delphi) 的 IdHttp 中遇到问题。
我尝试使用 IdHttp 在 Web 服务 SOAP 中发布 XML,但不起作用。返回“与 SSL 连接时出错。”在来自 indy 的 IdSSLOpenSSL.Connect@1437 中。
我的代码很简单:
procedure TForm1.Button1Click(Sender: TObject);
var
vRequest : TStringStream;
s : String;
begin
vRequest := TStringStream.Create((Memo1.Lines.Text));
try
IdHTTP1.Host := edHost.Text;
IdHTTP1.Request.ContentLength := length(Memo1.Lines.Text);
IdHTTP1.Request.ContentType := edContentType.Text;
IdHTTP1.Request.CustomHeaders.Text := 'SOAPAction: "removed for safe"'#13#10;
IdHTTP1.request.CacheControl := 'no-cache';
IdHTTP1.Request.AcceptEncoding := edAccept.Text;
IdHTTP1.HTTPOptions := [hoKeepOrigProtocol];
IdHTTP1.ProtocolVersion := pv1_1;
Memo2.Clear;
try
s := IdHTTP1.post(Edit1.Text, vRequest);
Memo2.Lines.Text := s;
except
on e: EIdHTTPProtocolException do begin
Label1.Caption := e.Message;
MEMO2.LINES.TEXT := e.Message;
end;
on e:Exception do begin
Label1.Caption := e.Message;
MEMO2.LINES.TEXT := e.Message;
end;
end;
requestHeaders.Lines.Text := IdHTTP1.Request.RawHeaders.Text;
responseHeaders.Lines.Text := IdHTTP1.Response.RawHeaders.Text;
finally
vRequest.Free;
end;
end;
在 exe 文件夹中包含 libeay32.dll 和 ssleay32.dll。有什么建议吗?
我用的是delphi 5,但是在delphi 7中也是同样的问题。
【问题讨论】:
标签: delphi ssl indy delphi-5 idhttp