최근에 나는 을 IDHTTP.GET (으)로 호출 한 후 EConvertError가 발생하는 것으로 확인했습니다. 나는 트래픽을 분석하고 쿠키의 만료 날짜가 2000이라고 보았습니다. 이제 제 질문은이를 우회하는 방법입니다. XE3에있는 Indy10을 사용하고 있습니다. Indy가 쿠키 처리에 대한 엄격한 표준을 따르고 있지만 이것을 해제하는 기능이 없어야한다는 것을 알고 있습니까?쿠키가 만료되었습니다 Indy
URL :https://graph.facebook.com/me?access_token=ACCESS_TOKEN
스택 트레이스 :
:75a5c41f KERNELBASE.RaiseException + 0x58
System.SysUtils.ConvertErrorFmt($412994,(...))
System.SysUtils.StrToInt('')
IdGlobal.IndyStrToInt('')
IdGlobalProtocols.RawStrInternetToDateTime('',0)
IdGlobalProtocols.GMTToLocalDateTime('')
IdHTTPHeaderInfo.TIdEntityHeaderInfo.ProcessHeaders
IdHTTPHeaderInfo.TIdResponseHeaderInfo.ProcessHeaders
IdHTTP.TIdHTTPProtocol.RetrieveHeaders(???)
응답 헤더 :
(Status-Line) HTTP/1.1 200 OK
Access-Control-Allow-Origin *
Cache-Control private, no-cache, no-store, must-revalidate
Content-Type text/javascript; charset=UTF-8
ETag "676c539ac3cd7161f5492ce95d72d8b620c6fa6c"
Expires Sat, 01 Jan 2000 00:00:00 GMT
Last-Modified 2012-12-20T20:08:20+0000
P3P CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Pragma no-cache
X-FB-Rev 702819
X-UA-Compatible IE=edge,chrome=1
Set-Cookie m_ts=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com; httponly
Set-Cookie reg_ext_ref=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com
Set-Cookie reg_fb_gate=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com
Set-Cookie reg_fb_ref=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com
X-FB-Debug kZmwuLCRhfhJBKfLoQEbTOBJNyKQGUKLEeJ2R2rcxXg=
Date Fri, 28 Dec 2012 10:02:19 GMT
Connection keep-alive
Content-Length 1932
'TIdCustomHTTP.ProcessCookies()','TIdCookieManager.AddServerCookies()'및'TIdCookie.ParseServerCookie()'메소드가 호출 스택에 포함되어 있지 않으므로 잘못된 날짜/시간 문자열이 쿠키에서 오지 않습니다. 당신이 보여 줬어. TIdEntityHeaderInfo.ProcessHeaders()는 공백을 체크하지 않고 직접'GMTToLocalDateTime()'을 호출하는 유일한 헤더이기 때문에'Last-Modified' 또는'Expires' 헤더 (또는 부족)로부터 오는 것이어야합니다. 값을 먼저 지정하십시오. –
'RawStrInternetToDateTime()', 따라서'GMTToLocalDateTime()'은 빈 문자열을 전달할 때 예외를 발생시키지 않으므로 인디의 최신 버전을 사용하면 안됩니다. 빈 형식의 헤더 값이 서버에서 전송 중입니다. 실제 헤더를 표시하십시오. –
@RemyLebeau 요청한대로. 그 1970 년대의 문제. –