我试图在Origin
中获取TIdHTTPServer
个请求,但我看到我有权访问的是Host
。
由于它是Delphi,我认为他们可能会设置Host
请求,所以如果我这样做:
s := ARequestInfo.Host;
我会让主持人成为它的起源。但不,Host
是我,就像在正常的世界中一样。
但是,出于某种原因,他们没有制作Origin
财产,所以我不知道如何获得它,我需要知道Origin来做出我的回应。< / p>
我尝试用原点获取原点:
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
。
答案 0 :(得分:0)
ARequestInfo.RawHeaders.Values['origin'];
我必须使用CustomHeader
而不是RawHeaders
。
创建响应时自定义标头是用户,而原始标头是发送请求的浏览器/应用程序发送的标头。