gpt4 book ai didi

sockets - IdSSLIOHandlerSocketOpenSSL Delphi 套接字错误 #0

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:04 25 4
gpt4 key购买 nike

我已经阅读了很多有关 Delphi、POST 命令和 SSL 的内容。

我的问题是:

我必须联系这个网站: https://payment.architrade.com/cgi-bin/confirmtransact.cgi

解释可以在这里找到: http://tech.dibspayment.com/D2/FlexWin/API/Status_functions/confirmtransactcgi

在 Chrome 或 firefox 中执行此操作返回 0。正如解释所说。

大约 3 年前,我做了一个实现来调用它。我是在 Delphi 2010 中制作的。

这已经运行了 2.5 年,没有任何缺陷。在过去的 6 个月里,我在打电话后几乎立即收到了 Socket Error #0。我越来越频繁地发生,今天它是不变的。

此时,我们的客户因此无法使用例程。

在我的程序中,我使用这个:

HttpPosten: TIdHTTP;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;

代码是这样的:

procedure TForm6.Button1Click(Sender: TObject);
var
FejlKode: String;
begin
Try
Memo1.Lines.Clear;
Memo1.Lines.Add('Starter på test...');
Memo2.Lines.Clear;

FejlKode := HttpPosten.Post('https://payment.architrade.com/cgi-bin/confirmtransact.cgi',Memo2.Lines);

HttpPosten.Disconnect;
Memo1.Lines.Add(' ');
Memo1.Lines.Add('Resultat:');
Memo1.Lines.Add(FejlKode);
Except
on E: exception do
Begin
FejlKode := e.Message;
Memo1.Lines.Add(' ');
Memo1.Lines.Add('FEJL (2):');
Memo1.Lines.Add(FejlKode);
End;
End;
end;

此刻我不断地进入异常(exception)部分。

我需要关于在哪里处理的建议?这是在 Delphi、Indy、SSL、Server、Internet、Firewall 中还是我应该在哪里查看?

有人说我应该将 Indy 升级到最新版本。但它已经使用这些组件运行了 2½ 年而没有出现问题。如果我升级,我想知道我现在有哪个版本。我在哪里可以找到该信息?

所以 - 我真的需要一些建议。

问候迈克尔

最佳答案

The last 6 months I get Socket Error #0 almost instantly after calling. I happens more and more aften, and today it is constant.

我无法使用最新版本的 Indy(撰写本文时为 10.6.2.5274)和您显示的确切代码重现该错误。 Post() 调用成功,返回 HTTP 200 OK 响应和 0 正文负载,就像您在 Chrome/Firefox 中一样。

HTTP/1.1 200 OK
Server: -
Date: Tue, 19 May 2015 17:05:35 GMT
Connection: close
X-Server-Name: payment27
Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Pragma: no-cache
P3P: CP="NON DSP CURa CUSa OUR NOR STA"
Content-Type: text/plain
Connection: close
Strict-Transport-Security: max-age=31536000

0

Someone says I should upgrade Indy to newest version. But it has been running with these components for 2½ years without problems.

如果可行,您应该始终使用最新的。例如,很久以前就解决了套接字错误 #0。

If I uograde, I would like to know, which version I have now. Where do I find that information?

您可以在设计时右键单击表单设计器中的任何 Indy 组件。或者在运行时读取任何 Indy 组件的 Version 属性。

关于sockets - IdSSLIOHandlerSocketOpenSSL Delphi 套接字错误 #0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30326237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com