是的,我会同意,乍一看,这看起来完全像以下一样:
说实话......这个问题与这两个问题密切相关。但是,我注意到,在研究这个特定主题时,到目前为止我发现的链接中存在一个代码缺陷。
以下是其他一些与内容中的上述链接相似的链接:
如果必须知道,我正在使用此特定方法获取页面的URL,如此链接中所述,但我认为这无关紧要:
第一个链接的代码效果很好,尽管有一个大问题:
例如,如果我从此网站获取网址:http://www.dotnetperls.com/imagelist
并将其传递给代码,我在下面有一个修改后的版本:
private static string GetWebPageTitle(string url)
{
HttpWebRequest request = (HttpWebRequest.Create(url) as HttpWebRequest);
HttpWebResponse response = (request.GetResponse() as HttpWebResponse);
using (Stream stream = response.GetResponseStream())
{
// compiled regex to check for <title></title> block
Regex titleCheck = new Regex(@"<title>\s*(.+?)\s*</title>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
int bytesToRead = 8092;
byte[] buffer = new byte[bytesToRead];
string contents = "";
int length = 0;
while ((length = stream.Read(buffer, 0, bytesToRead)) > 0)
{
// convert the byte-array to a string and add it to the rest of the
// contents that have been downloaded so far
contents += Encoding.UTF8.GetString(buffer, 0, length);
Match m = titleCheck.Match(contents);
if (m.Success)
{
// we found a <title></title> match =]
return m.Groups[1].Value.ToString();
break;
}
else if (contents.Contains("</head>"))
{
// reached end of head-block; no title found =[
return null;
break;
}
}
return null;
}
}
它返回一个空白结果,或者为null。但是,在观察页面的HTML代码时,标题标签肯定存在。
因此,我的问题是:如何修改或更正代码,从我所修改的代码,或从所提供的任何其他四个链接,也从所有具有该代码的网页获取网页标题标题标签存在,一个例子是这个问题中的最后一个链接,来自DotNetPerls。
我只是在猜测,但我想知道网站是否与其他典型网站显示不同,也许它在第一次加载时可能没有显示任何代码,但浏览器实际上在加载后重新加载网站第一次透明......
如果可能,我更愿意使用一些有效的示例代码。