2013-07-17 3 views
0

Idhttp (indy10 with delphi-xe2)를 사용하여 양식을 게시하고 있지만 이미 쿠키 관리자를 설정했지만 세션에서 세션 만료 메시지가 표시됩니다. 고맙습니다.Idhttp post session expire

procedure TForm2.IdCookieManager1NewCookie(ASender: TObject; ACookie: TIdCookie; 
var VAccept: Boolean); 
begin 
    ShowMessage(Acookie.CookieText); 
end; 

ShowMessage의 결과는 다음 두 Max-AgeExpires 쿠키에 존재 ASP.NET_SessionId=enn1xnqde1o1rduedels5fqp; Path=/; Domain=www8.ticketingcentral.com; HttpOnly; Max-Age=252028195945; Expires=Fri, 31-Dec-9999 16:59:59 GMT

+0

** 원래 ** 쿠키는 HTTP 서버가 제공 한 것으로 표시하고 'TIdCookie'의 해석은 표시하지 마십시오. –

답변

2

현재 클럭에서 초 단위로 표현되는 RFC 6265 Max-AgeMax-Age이 우선하고 Expires 무시할 시각. A Max-Age 값은 252028195945이며 향후 7991 년입니다! 현재 시계가 10004 년에 날짜를 작성한다는 것을 추가하면 TDateTime은이를 나타낼 수 없습니다 (지원하는 가장 높은 연도는 9999입니다). 따라서 만료 날짜가 음수로 설정된 반올림 문제가 발생할 가능성이 높습니다. 따라서 미래가 아니라 과거의 날짜를 나타내는 것이므로 쿠키가 HTTP 서버로 다시 전송되기 전에 만료됩니다.

관련 문제