2

我创建了一个 PHP 页面,该页面对表进行基本选择,以确定特定代理上次插入数据的时间。该页面的目的是查看过去 48 小时内是否有任何代理未提交数据。只有在该时间段内未提交数据的代理才会显示在列表中。由于我不希望 95% 的时间在此表中有条目,因此我需要设置一个警报,以便仅在该 PHP 页面上存在数据时发送。

我正在尝试使用 PowerShell 脚本来抓取页面,并且效果很好......我只需要弄清楚如何:1)抓取页面 2)如果内容存在 - > 发送电子邮件 3) ELSE - > 关闭。

我会通过标准的 Windows 计划任务来安排它。我知道有更简单或更直接的方法可以做到这一点,但我没有在 linux Web 服务器上启用邮件的选项......

下面是我的屏幕抓取工具:

$web = New-Object Net.WebClient
$web | Get-Member

$web.DownloadString("http://www.bing.com")

我的代码来自: http: //learn-powershell.net/2011/02/11/using-powershell-to-query-web-site-information/

有任何想法吗?

4

1 回答 1

2

1)刮页

你有一个好的开始。该DownloadString方法将下载 HTML。

2) 如果内容存在 -> 发送电子邮件

取决于您要查找的内容。您可以使用比较运算符 -match-like字符串方法Contains()进行测试。然后放入 if/else 块中,例如

$string = $web.DownloadString("http://somewebsite")
if ($string -match "regex_here") {
    Send-MailMessage -SmtpServer your_server -To to.address@domain -From from.address@domain -Subject foo -Body bar
} else {
    # not necessary unless there is something you want to execute here.
}

请注意,我使用Send-MailMessage cmdlet 发送电子邮件。

3)否则->关闭。

往上看。

于 2013-06-07T22:29:46.400 回答