无法获取HTML

时间:2012-07-09 09:43:36

标签: c# .net httpwebrequest

我正在尝试打开与httpwebrequest的adfoc.us/504....9链接。 但它没有给我任何HTML代码。

  try
    {
        req = WebRequest.Create(txtLink.Text);
        WebProxy wp = new WebProxy(proxies[0]);
        //req.Proxy = wp;

        WebResponse wr = req.GetResponse();
        StreamReader sr = new StreamReader(wr.GetResponseStream());
        string content = sr.ReadToEnd();
        MessageBox.Show(content);
        sr.Close();
    }
    catch (UriFormatException)
    {
        MessageBox.Show("URL should be in this format:\nhttp://www.google.com");
        return;
    }

如果我使用像[google.com] [1]这样的网站 - 我会使用google html源码获取mbox。 如果我使用adfoc.us/50....链接,我会得到一个空字符串。

哪里可能是问题? 谢谢。

编辑:我通过安装GeckoFx组件解决了这个问题。

3 个答案:

答案 0 :(得分:0)

这只是猜测。

如果您可以在浏览器中打开链接而不是从代码中打开链接,则可能意味着adfoc.us会阻止您,因为它无法找到useragent标头。尝试添加浏览器使用的useragent标头。

答案 1 :(得分:0)

试试这个 var req = (System.Net.HttpWebRequest) System.Net.WebRequest.Create(""); req.AllowAutoRedirect = true;

您可以手动设置MaximumAutomaticRedirections

答案 2 :(得分:0)

初始化WebRequest时,请添加以下内容:

req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

好像它不喜欢默认标头。我从Firefox请求标题中获得了上述内容。