Jas*_*ter 1 c# redirect httpwebrequest httpwebresponse http-status-code-302
我正在使用a WebRequest来阅读HTML网站.服务器似乎正在重定向我的请求.
我的代码类似于以下内容:
String URI = "http://www.foo.com/bar/index.html"
WebRequest req = WebRequest.Create(URI);
WebResponse resp = req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
String returnedContent = sr.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
当我检查returnedContent它的内容包含来自重定向的内容,如"http://www.foo.com/FOO_BAR/index.html".我确信我请求的URL存在,因为它是收到的响应的一部分(作为IFrame).
有没有办法阻止WebResponse重定向并获取所请求的URL的内容?
UPDATE
设置req.AllowAutoRedirect = false导致302 Found状态代码,但不提供实际内容.
更多细节:我要求的网址是http://www.foo.com/bar/index.html我收到的内容http://www.foo.com/FOO_BAR/index.html
响应看起来类似于:
<body>
<div>
<iframe src="/foo/index.html"></iframe>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
你可以使用HttpWebRequest的AllowAutoRedirect财产:
…
var req = (HttpWebRequest)WebRequest.Create(URI);
req.AllowAutoRedirect = false;
…
Run Code Online (Sandbox Code Playgroud)