gpt4 book ai didi

Delphi - 'Invalid argument to date encode' ,因为值 ['Expires' ]=-1

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

我一直在使用delphi开发一个应用程序,该应用程序需要连接一个像“example.example.ex”这样的url。

当我调用函数IdHTTP1.Post时,日期编码过程中发生错误。

发生的情况是,当应用程序获取连接 header 的某些值时,“Expires”为 -1,并且内部使用的函数 function RawStrInternetToDateTime(var Value: string): TDateTime; EncodeDate(Year, Month, Day); 无法使用值“-1”。

我需要直接将“exemple.exemple.ex”的“过期”值更改为其他日期时间值吗?

最佳答案

如上所述here ,Indy 版本 < 10 无法正确处理“-1”。这是 Indy 10 处理“Expires”字段的方式:

// RLebeau 01/23/2006 - IIS fix
lValue := Values['Expires']; {do not localize}
if IsNumeric(lValue) then
begin
// This is happening when expires is an integer number in seconds
LSecs := Sys.StrToInt(lValue);
// RLebeau 01/23/2005 - IIS sometimes sends an 'Expires: -1' header
if LSecs >= 0 then begin
FExpires := Sys.Now + (LSecs / SecsPerDay);
end else begin
FExpires := 0.0;
end;
end else
begin
FExpires := GMTToLocalDateTime(lValue);
end;

如您所见,如果最初 <= 0,则该值设置为 0,因此如果您使用的是旧版本的 Indy,则必须手动执行此操作。

关于Delphi - 'Invalid argument to date encode' ,因为值 ['Expires' ]=-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148395/

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