Проверьте, если URL все еще активен или постоянно перемещен - PullRequest
3 голосов
/ 16 февраля 2012

Есть ли способ проверить, активен ли URL-адрес или он возвращает код 301 Redirect с помощью chhttp?

Ответы [ 2 ]

10 голосов
/ 16 февраля 2012

Вы ответили на свой вопрос - используйте CFHTTP.

<cfhttp method="head" url="http://www.google.com" result="myResult">
<cfdump var="#myResult#">

Вы увидите, что структура myResult содержит структуру Responseheader с полем Status_Code. Он будет содержать числовой код состояния. Если вам не нужно числовое значение, вы можете просто использовать myResult.Statuscode - возвращает что-то вроде «200 OK».

Если URL будет неправильным или возникнут проблемы с достижением цели, «Responseheader» будет пустым.

Приложение после комментария:

Если вы хотите узнать местоположение перенаправления после 301, используйте CFHTTP с трассировкой или опциями в качестве метода.

<cfhttp method="trace" url="http://www.google.com" result="myResult">

Результат должен содержать «Status_Code», как указано выше, а также «Location» - URL-адрес для перенаправления.

1 голос
/ 19 марта 2012

Вы должны использовать атрибут redirect (например, redirect = "false") в теге cfhttp.Затем вы получите исходный ответ и сможете выяснить, какой http-код был отправлен обратно на ваш запрос.

...