С Википедия :
Заголовок HTTP Location возвращается в ответах от HTTP-сервера при двух обстоятельствах:
Комузаставить веб-браузер загрузить другую веб-страницу.Он передается как часть ответа веб-сервером, когда запрошенный URI имеет:
- Временно перемещен или
- Перемещен навсегда
Класс HttpWebRequest
имеет свойство AllowAutoRedirect
, которое по умолчанию имеет значение true:
Установите для параметра AllowAutoRedirect значение true, если вы хотите, чтобы запрос автоматически выполнялсяЗаголовки перенаправления HTTP на новое местоположение ресурса.
Это означает, что вы никогда не увидите запрос перенаправления, если не установите для AllowAutoRedirect
значение false перед выполнением запроса:
string url = "http://hehe.freevar.com/files.php";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.AllowAutoRedirect = false;
req.Method = "HEAD";
Console.WriteLine(req.GetResponse().Headers);
Затем вы получите следующий ответ, который включает Местоположение :
Keep-Alive: timeout=1, max=10000
Connection: Keep-Alive
Content-Type: text/html
Date: Wed, 01 Jun 2011 01:32:18 GMT
Location: http://www.160by2.com/post-registration.aspx
Server: Apache
X-Powered-By: PHP/5.2.13