所以我已经在这个工作了一个月,但我在网上什么都没发现,所以我觉得每分钟检查一下网站源代码的变化是可能的,但似乎它的源代码每秒都在变化,所以有没有我的编码问题还是有其他方法来监控网站的变化?
这是我的代码:
private void Startbtn_Click(object sender, EventArgs e)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader source = new StreamReader(response.GetResponseStream());
richTextBox1.Text = source.ReadToEnd();
timer1.Start();
timer1.Interval = 60000;
}
private void timer1_Tick(object sender, EventArgs e)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader source2 = new StreamReader(response.GetResponseStream());
RichTextBox checker = new RichTextBox();
checker.Text = source2.ReadToEnd();
if (richTextBox1.Text == "")
{
richTextBox1.Text = checker.Text;
}
else
{
if (richTextBox1.Text != checker.Text)
{
MessageBox.Show("somthing changed");
richTextBox1.Text = checker.Text;
}
else
{
MessageBox.Show("No changes yet!");
}
}
}
解决方法:
首先,我建议在必须将页面的实际内容与存储的版本进行比较时:
>将您存储的MD5哈希值与新哈希值的哈希值进行比较(不是每次都是内容)
>请记住,页面中有不断变化的元素,您可能不会将页面内容更改为…
一些服务器将返回Last-Modified标头,您可以使用它来进行比较.