2012-06-01 34 views
1

我有一個WPF應用程序,我有一個文本框中,我輸入的網址,我在Web瀏覽器控制中獲取該網頁。認爲一般例如,如果我我在wpf應用程序的web瀏覽器控件中打開任何網頁,我想從該web瀏覽器控件中獲取所有文本,並將其放置在文本框中。從該文本框我可以將其導出到任何文件。我現在需要了解如何從Web瀏覽器控件獲取所有數據,然後將其放入多行文本框中。從Web瀏覽器頁面的數據獲取到WPF應用程序

+0

爲什麼不只是使用wdsl.exe? http://msdn.microsoft.com/en-us/library/7h3ystb6.aspx – Paparazzi

+0

沒有No.ok讓這一般如果我想獲取任何其他網頁數據如何做到這一點。我使用網絡瀏覽器控制。打開網頁,但我無法從該控件中獲取數據。 – user1379584

+0

「我需要從瀏覽器上顯示的Web服務URL中獲取數據,並創建一個.wsdl文件」。 – Paparazzi

回答

1

您可以使用System.Net中的HttpWebRequest和HttpWebResponse對象與Web服務器進行通信。

例如

string GetWebPage(string address) 
{ 
    string responseText; 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); 

    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
    { 
     using (StreamReader responseStream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"))) 
     { 
      responseText = responseStream.ReadToEnd(); 
     } 
    } 

    return responseText; 
} 

可以使用然後設置文本框的文字:

myTextBox.Text = GetWebPage(address); 

爲了讓事情更好的爲你的用戶,你應該讓web請求異步的,所以你不要鎖住用戶界面而數據正在下載。你可以使用BackgroundWorkerThread來做到這一點。

+0

+1現在我看到你的答案,這個問題變得更有意義 – Paparazzi

+0

This是我收到的錯誤消息遠程服務器返回錯誤:(401)未經授權。 – user1379584

+0

401錯誤是因爲網站需要驗證 - 例如一個用戶名和密碼。如果您在普通瀏覽器中訪問網站,是否會提示您登錄? – roomaroo

相關問題