最近公司网站需要在后台定时请求和更新数据,但PHP毕竟是一种后端语言,不能自动运行,所以整理了几个方法。

1、在前端定时请求页面。

2、使用批处理。

3、使用windows计划任务。

第一种方案必须要打开浏览器,如果关闭了浏览器,可能就会出问题,而且浏览器一直处于打开状态,有点浪费资源。

第二种方案比较简单,直接调用浏览器打开页面就行,但是得不到回调值。

所以我打算使用powershell配合计划任务来完成这个工作。

我们可以使用win+R,然后输入powershell,然后回车来打开ps,不过此方法得不到管理员的权限(在win10下将不能写入文件到C盘),但不影响下面的命令执行。

我使用了一个Invoke-WebRequest命令来执行web request,此命令的详细用法请输入Get-Help Invoke-WebRequest来查看,或者查阅MSDN。

简单用法如下,需要一个Uri的开关,传一个请求地址,像这样:

 Invoke-WebRequest -Uri "http://www.7cgcg.com/*/*.php"

得到的输出如下

 StatusCode        : 200
StatusDescription : OK
Content : ########################################################
记录日期:2017-03-28 14:34:44
更新截图数量:0
没有转码中的视频需要查询. RawContent : HTTP/1.1 200 OK
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Length: 159
Content-Type: text/html;charset=utf-8
Date: Tue, 28 Mar 2017 06:34:43 GMT
Server:...
Forms : {}
Headers : {[Vary, Accept-Encoding], [Keep-Alive, timeout=5, max=100], [Connection, Keep-Alive], [Content-Length, 159]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : System.__ComObject
RawContentLength : 159

可以看到,StatusCode为200,Content就是内容了。

然后可以用 Select-Object命令,选出Content这个属性,这时候我们需要一个管道,将前一个命令的内容输入给后面的命令进行处理,这个和批处理是一样的,使用的是 | 符号

 Invoke-WebRequest -Uri "http://www.7cgcg.com/*/*.php" | Select-Object -ExpandProperty Content

得到输出如下

 ########################################################
记录日期:2017-03-28 14:39:00
更新截图数量:0
没有转码中的视频需要查询.

接下来将内容保存到一个文件作为记录即可,这边用的是Out-File命令,注意加上-Append追加写入开关,否则会覆盖文件。

 Invoke-WebRequest -Uri "http://www.7cgcg.com/*/*.php" | Select-Object -ExpandProperty Content | Out-File -Append d:\mts_log.txt

完成之后,可以将命令保存为ps1格式的powershell脚本文件,新建一个计划任务定时执行即可。

最新文章

  1. 从零自学Hadoop(14):Hive介绍及安装
  2. 将UINavgationController的push改成从左到右
  3. Centos7上搭建OpenvpnServer——pritunl
  4. 【转载】James Whittaker:经营成功的测试职业生涯
  5. My97日期控件 选择日期区间
  6. Linxu学习之03_LInux文件与目录管理
  7. Core Animation2-CABasicAnimation
  8. ruby迭代起基础
  9. js精要之模块模式
  10. 推荐一款接口文档在线管理系统-MinDoc
  11. 移动端效果之Swiper
  12. Fisher–Yates shuffle 洗牌算法
  13. spring cloud Eureka常见问题总结
  14. & 引用
  15. weblogic系列漏洞整理 -- 4. weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271、CVE-2017-3506)
  16. RabbitMQ 设置队列的过期时间
  17. 使用开源的工具解析erspan流量
  18. 【python】关于python中模块导入的总结
  19. kbmMW 5.06.20试用笔记
  20. php函数substr_replace中文乱码的替代解决方法

热门文章

  1. 简单的 Nginx+Tomcat 配置负载均衡集群
  2. 糟糕,你写的 BUG 要被存1000年了!
  3. Python 5 行代码的神奇操作
  4. C语言学习笔记之函数指针与函数指针数组
  5. jQuery 综合练习ToDoList
  6. JS DOM重点核心笔记
  7. three.js 制作机房(上)
  8. vs2017引用vue组件中文乱码
  9. Golang并发编程基础
  10. MySQL元数据信息