WebRequest返回不同的href属性值然后浏览器

时间:2016-04-30 13:48:00

标签: c# html

我想通过C#app下载带有资源的html文件。当我尝试下载页面" www.autocont.cz"时,它会更改一些href值:

<link href="/(X(1)S(uonhh5kpvq0fdcxuh4pytyph))/Content/css/reset.css" rel="stylesheet" type="text/css"/>

浏览器视图中的原始行:

<link href="/Content/css/reset.css" rel="stylesheet" type="text/css" />

我发现它与不同的UA略有不同。

如何获得与浏览器相同的结果?

非常感谢。

1 个答案:

答案 0 :(得分:0)

可能会对href值执行一些客户端执行以提供浏览器输出。尝试使用System.Windows.Forms.WebBrowser控件来获取该html资源的确切浏览器输出。

 string getBrowserText(string path) {
    WebBrowser browser = new WebBrowser();
    browser.ScrollBarsEnabled = false;
    browser.AllowNavigation = true;
    browser.Navigate(path);
    bool completed = false;
    browser.DocumentCompleted += (sender, e) => completed = true;
    while (browser.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }
    while (!completed) ;
    string doctext = ((WebBrowser)browser).DocumentText;
    return doctext;
 }

那应该返回html资源的浏览器再现。你应该在一个线程或其他东西中执行它。