gpt4 book ai didi

delphi - 我无法在 tidhttpServer 中获取请求的来源

转载 作者:行者123 更新时间:2023-12-03 15:59:04 26 4
gpt4 key购买 nike

我正在尝试在 TIdHTTPServer 中获取请求的 Origin,但我看到我有权访问的只是 Host .

因为它是Delphi,我认为他们可能会设置请求的Host,所以如果我这样做:

s := ARequestInfo.Host;

我会得到主机作为它的起源。但不,Host 是我,就像在正常世界中一样。

但是,由于某种原因,他们没有创建 Origin 属性,所以我不知道如何获取它,并且我需要知道 Origin 才能做出响应。

我尝试通过以下方式获取原点:

s := ARequestInfo.CustomHeaders.Values['Origin'];

但是它是空的。

我在浏览器的请求中看到 Origin 为 localhost 或 null。

这是我管理请求的程序:

procedure TRestService.commandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
// ...
s : string;
begin
s := ARequestInfo.CustomHeaders.Values['Origin']; < always empty
// rest of the code here...
end;

编辑我找到了解决方案:

s := ARequestInfo.RawHeaders.Values['origin'];

只需使用RawHeaders

最佳答案

ARequestInfo.RawHeaders.Values['origin'];

我必须使用RawHeaders,而不是使用CustomHeader。自定义 header 是用户创建响应时的 header ,原始 header 是发送请求的浏览器/应用程序发送的 header 。

关于delphi - 我无法在 tidhttpServer 中获取请求的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48787396/

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