gpt4 book ai didi

delphi - 使用 Indy http (idHTTP1.Get) 从 Delphi 2005 升级到 2010 后出现授权问题

转载 作者:行者123 更新时间:2023-12-03 15:47:10 25 4
gpt4 key购买 nike

我将从 Delphi 2005 升级到 Delphi 2010。我遇到了这个问题:以下过程在 D2005 上运行良好,但在 D2010 上我总是得到结果:

<HTML><HEAD><TITLE>401 Unauthorized</TITLE></HEAD>
<BODY><H1>401 Unauthorized</H1>
Your client does not have permission to get URL /axis-cgi/date.cgi from this server.
</BODY></HTML>

在程序上,我尝试连接两次,因为在D2005上,有时我第一次尝试时得到了未经授权的答案,然后我可以在第二次连接时没有问题。使用 D2010,我总是得到未经授权的答案。

网址 = 'http://user:pass@xxx.xxx.xxx.xxx/axis-cgi/date.cgi?action=get'

function TViewCameraForm.HttpGet(idHTTP : TidHTTP; Url : AnsiString): AnsiString;
Var
Res : AnsiString;
Begin
idHTTP1.Disconnect;
try
Res := idHTTP1.Get(Url);
If Pos('Unauthorized', Res) > 0 Then
Res := idHTTP1.Get(Url);
Result := Res;
except
on E: EIdHTTPProtocolException do begin
Result := E.ErrorMessage
end;
on E: Exception do begin
Result := E.message;
end;
end;

End;

谢谢山姆

最佳答案

您是否尝试使用基本身份验证进行身份验证?

  ...
idHTTP1.Request.BasicAuthentication := True;
idHTTP1.Request.Username := 'user';
idHTTP1.Request.Password := 'pass';
Res := idHTTP1.Get(Url);

(顺便说一下,使用 user:pass@website 不符合 HTTP 规范)

关于delphi - 使用 Indy http (idHTTP1.Get) 从 Delphi 2005 升级到 2010 后出现授权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732981/

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