是否有一种简单的方法,使用C#打开任意URL,读入文本,并将其减少到将在网页中显示的URL?我想我可以得到<身体>内容,并通过char对该内容迭代char,删除任何与之相关的内容。和>(包括在内)。我简要地看了一下HTML Agiligy Pack,并且可能是一个解决方案,但对于我想要做的事情来说它似乎非常沉重。
同样,我想要的只是一串文字,表示屏幕上显示的任意网址文字。
答案 0 :(得分:2)
我仍然会选择HTML Agility包 - 它在开始时会有一些工作,但最终会更灵活,设计更好,因为它会提供更多 - 例如XPath样式查询。
答案 1 :(得分:0)
如果您只需要HTML的文本表示,这应该可以完成工作:
using System.Net;
...
public string GetSiteStringContents(string url)
{
StringBuilder sb = new StringBuilder();
byte[] buf = new byte[8192];
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
count = resStream.Read(buf, 0, buf.Length);
if (count != 0)
{
tempString = Encoding.ASCII.GetString(buf, 0, count);
sb.Append(tempString);
}
}
while (count > 0);
return sb.ToString();
}