爲什麼位置未列在響應標題?c#HttpWebRequest標題
我的代碼:
string url = "http://hehe.freevar.com/files.php";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "HEAD";
Console.WriteLine(req.GetResponse().Headers);
爲什麼位置未列在響應標題?c#HttpWebRequest標題
我的代碼:
string url = "http://hehe.freevar.com/files.php";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "HEAD";
Console.WriteLine(req.GetResponse().Headers);
的HTTP Location頭返回 在響應從HTTP服務器下 兩種情況:
要強制Web瀏覽器加載不同網頁。它是作爲由網絡服務器 響應的 一部分傳遞時所請求的URI具有:
- 暫時移動,或
- 永久移動
的HttpWebRequest
類有屬性AllowAutoRedirect
默認爲true:
如果您希望 希望請求自動執行 遵循HTTP重定向標頭到 資源的新位置,請將AllowAutoRedirect設置爲true。
這意味着你永遠不會看到重定向請求,除非你發出請求之前設置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
我認爲你正在尋找ResponseUri
財產。
var responseUri = req.GetResponse().ResponseUri;
+1取決於情況這可能是OP實際上正在尋找 – BrokenGlass 2011-06-01 01:49:38