5

我们使用 GA 进行跟踪,部分跟踪涉及将 __utmz cookie 值存储在我们的数据库中。我无法理解为什么 CF 10 无法解析 __utmz cookie。

CF10 没有解析或正确检索 __utmz cookie 的值,或者除了 CFGLOBALS 之外,几乎所有包含“等号 (=)”的 cookie 值。

这是问题的屏幕截图(使用 COOKIE 范围的 CFDUMP)-

它应该是什么样子——

正确读取 Google Analytic cookie

它的样子——

不正确的 Google Analytic cookie 读取

服务器配置:CF10、IIS 7.5、Win 2k8

4

2 回答 2

1

好的!我找到了缓解这个问题的方法。通过使用 GetHttpRequestData() 方法。

<cfscript>    
    _cookie = GetHttpRequestData().headers.cookie;
</cfscript>

这将返回一个 ; cookie 值的分隔列表。我使用 regEx 来选择我需要的 __utmz 值。

于 2013-10-28T03:10:27.600 回答
0

我刚刚遇到了这个问题。一些在 CF8 中运行的代码在 CF10 中停止运行。我创建了这个函数来获取原始 cookie 值:

<cffunction name="GetRawCookie" output="false" returntype="string">
    <cfargument name="cookieName" type="string" required="true">
    <cfset local.cookies = GetHttpRequestData().headers.cookie>
    <cfset local.cookieValue = "">
    <cfset local.match = reFindNoCase("(?:^|;)\s*" & arguments.cookieName & "=([^;]+)", local.cookies, 1, true)>
    <cfif local.match.pos[1] gt 0>
        <cfset local.cookieValue = mid(local.cookies, local.match.pos[2], local.match.len[2])>
    </cfif>
    <cfreturn local.cookieValue>
</cffunction>
于 2014-01-16T17:46:48.543 回答