首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从WebRequest类在C#中的响应中获取明文

如何从WebRequest类在C#中的响应中获取明文
EN

Stack Overflow用户
提问于 2010-11-25 18:36:03
回答 3查看 6.3K关注 0票数 1

我希望使用WebRequest类获得纯文本,就像我们使用webbrowser1.Document.Body.InnerText时得到的一样。我尝试了以下代码

代码语言:javascript
复制
public string request_Resource()
{
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myurl);
   Stream stream = request.GetResponse().GetResponseStream();
   StreamReader sr = new StreamReader(stream);
   WebBrowser wb = new WebBrowser();
   wb.DocumentText = sr.ReadToEnd();
   return wb.Document.Body.InnerText;
}

当我执行时,这是一个NullReferenceException

有没有更好的方法来获得纯文本。

注意:我不能直接使用webbrowser控件来加载网页,因为我不想处理所有那些在加载页面时多次触发的事件。

更新:我已经将代码更改为使用WebClient类而不是WebRequest,根据建议,我的代码现在看起来类似于

代码语言:javascript
复制
public string request_Resource()
{
   WebClient wc = new WebClient();
   wc.Proxy = null;
   //The user agent header is added to avoid any possible errors
   wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 ( .NET CLR 3.5.30729; .NET4.0C)");
   return wc.DownloadString(myurl);
}

我正在考虑使用HTML,有人能提出更好的选择吗.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-25 18:38:45

您正在寻找HTML敏捷包,它可以在不使用IE的情况下解析HTML。

它有一个InnerText属性。

要回答您的问题,您需要等待浏览器解析文本。

顺便说一句,您应该使用WebClient类而不是WebRequest

票数 3
EN

Stack Overflow用户

发布于 2010-11-25 18:55:03

使用webclient:

代码语言:javascript
复制
public string request_Resource()
{
    WebClient wc = new WebClient();
    byte[] data = wc.DownloadData(myuri);
    return Encoding.UTF8.GetString(data);
}

这将给你网站的内容。然后可以使用HtmlAgilityPack解析结果。

票数 1
EN

Stack Overflow用户

发布于 2010-11-25 19:12:58

如果您只需要简单的HTML文本,那么您已经编写了这段代码。

代码语言:javascript
复制
public string request_Resource()
{
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myurl);
   Stream stream = request.GetResponse().GetResponseStream();
   StreamReader sr = new StreamReader(stream);
   return sr.ReadToEnd();
}
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4279989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档