2011-07-28 57 views
0

我试图通过.net中的webclient访问网站,但我收到一条错误消息,内容如下: “Microsoft Online Services需要JavaScript才能登录。此网络浏览器不支持JavaScript ,或者脚本被阻止。“.net webclient javascript问题

这里是我用来访问网站的代码:

string url = "myUrl"; 
WebClient client = new WebClient(); 
client.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1"); 
client.Credentials = new NetworkCredential("username", "Password");   
string lines = client.DownloadString(url); 

任何帮助表示赞赏。我应该更换用户代理还是尝试其他方法? 在此先感谢,Laziale

回答

1

您可能需要使用System.Windows.Forms.WebBrowser解析Javascript。
Web客户端只会尝试下载文件。
JavaScript不在服务器上处理......它们在客户端进行处理。

因此,用您的WebClient将URL文件下载到计算机中的文件中,并使用WebBrowserNavigate来下载文件。
它将解析JavaScript和其他东西,并完成后(必须有一个事件),你可以检索(解析)的内容并使用它。

整个“你必须启用Javascript的东西”被Javascript隐藏。
这不是检测它的服务器。

+0

谢谢@Vercas。有没有办法在System.Windows.Forms.WebBrowser中传递登录信息?我尝试访问的页面位于登录区域后面。在此先感谢 – Laziale

+0

哦,是的......让我看看。我没有亲自使用过它...曾经在我的生活中。 – Vercas

+0

@Laziale更新! – Vercas