如何使用Coldfusion获取FINAL重定向的URL

时间:2009-08-17 04:12:31

标签: http redirect coldfusion

给出如下的网址:

之前:http://feeds.wsjonline.com/~r/wsj/health/feed/~3/felKuQPa41U/    最终重定向到: 之后:http://blogs.wsj.com/health/2009/08/14/insurance-salesman-to-obama-why-are-you-vilifying-insurers/

使用Coldfusion,如何获取最终(之后)URL?我相信CFHTTP会自动重定向最多4次,但我找不到获取最终重定向URL的方法。

想法? thxs

2 个答案:

答案 0 :(得分:7)

答案 1 :(得分:0)

如果您使用cfhttp进行重定向,则有两种选择。 1)你可以跟随(如你所说,连续多达4个)。您也可以通过不跟踪它们并检查结果的位置变量来手动处理它们。代码就是这样的(请注意,这是psudo-coldfusion,我的语法可能会关闭:

<cfset lastgoodURL = "http://bar.com" />
<cfset foo = false />

<cfloop while="foo eq false">
   <cfhttp url="#lastgoodURL#" redirect="false" name="baz" />
   <cfif length(baz.responseHeader.Location) eq 0>
     <cfbreak />
   </cfif>
   <cfset lastgoodURL = baz.responseHeader.Location />
</cfloop>