我有一个wpf应用程序,因为我有一个文本框,在其中输入url并在web浏览器控件中获取该网页。请考虑“常规”例如,如果我在wpf应用程序的web浏览器控件中打开任何网页,我希望从该web浏览器控件获取所有文本并在文本框中显示它。从那个文本框我可以把它导出到任何文件。我现在需要有关如何从web浏览器控件获取所有数据,然后将其放入多行文本框中的信息。

最佳答案

您可以使用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请求异步,这样在下载数据时就不会锁定ui。您可以使用BackgroundWorkerThread来执行此操作。

09-25 18:19