有没有办法检查网址是否仍然有效或是否使用chhttp返回301重定向代码?
答案 0 :(得分:10)
您已回答了自己的问题 - 使用CFHTTP。
<cfhttp method="head" url="http://www.google.com" result="myResult">
<cfdump var="#myResult#">
您将看到myResult结构包含“Responseheader”结构,其中包含“Status_Code”字段。它将包含数字状态代码。 如果你不需要数字,你可以使用myResult.Statuscode - 返回类似“200 OK”的内容。
如果网址不正确或者到达目标会出现问题,则“Responseheader”将为空。
评论后的附录:
如果您想在301之后知道重定向位置,请使用带跟踪或选项的CFHTTP作为方法。
<cfhttp method="trace" url="http://www.google.com" result="myResult">
结果应该包含上面的“Status_Code”以及“Location” - 重定向到的URL。
答案 1 :(得分:1)
您必须在cfhttp标记中使用重定向属性(例如redirect =“false”)。然后,您将获得原始响应,并可以确定将哪些http代码发送回您的请求。