WebRequest的 - 防止重定向(WebRequest - Prevent redirecti

2019-07-17 13:12发布

我使用的是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();

当我检查的内容returnedContent它包含重定向像“http://www.foo.com/FOO_BAR/index.html”的内容。 我相信我的请求的URL存在,因为它是收到响应(作为一个IFrame)的一部分。

有没有一种方法,以防止WebResponse重定向并获得请求的URL的内容?

UPDATE

设置req.AllowAutoRedirect = false通向302 Found状态代码,但不提供的acutal内容。

一些更多的细节:我的请求的URL被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>

Answer 1:

您可以使用HttpWebRequestAllowAutoRedirect属性 :

…
var req = (HttpWebRequest)WebRequest.Create(URI);
req.AllowAutoRedirect = false;
…


文章来源: WebRequest - Prevent redirection