WebRequest - 防止重定向

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (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状态代码,但不提供实际内容。

更多细节:我要求的网址是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>
提问于
用户回答回答于

你可以使用HttpWebRequestAllowAutoRedirect

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

扫码关注云+社区

领取腾讯云代金券