我们使用GA进行跟踪,部分跟踪涉及在我们的数据库中存储__utmz cookie值。我有一个问题是理解为什么CF 10无法解析__utmz cookie。
CF10没有解析或正确检索__utmz cookie的值或者只是关于任何在CFGLOBALS以外具有“等号(=)”符号的cookie值。
以下是问题的屏幕截图(使用COOKIE范围的CFDUMP) -
应该是什么样的 -
它看起来像什么 -
服务器配置:CF10,IIS 7.5,Win 2k8
答案 0 :(得分:1)
确定!我找到了缓解这个问题的方法。通过使用GetHttpRequestData()方法。
<cfscript>
_cookie = GetHttpRequestData().headers.cookie;
</cfscript>
这将返回;分隔的cookie值列表。我使用regEx来选择我需要的__utmz值。
答案 1 :(得分: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>