2011-07-28 88 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