我想通过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略有不同。
如何获得与浏览器相同的结果?
非常感谢。
答案 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资源的浏览器再现。你应该在一个线程或其他东西中执行它。