【发布时间】:2017-11-30 07:52:33
【问题描述】:
我想在 Windows Server 上使用任务调度程序运行我的脚本。 该脚本包含 PHP、HTML 和 Javascript。此脚本用于图像识别,应该每天运行。
如果我使用浏览器并在下面输入此网址
http://localhost/html/xpix/index.php?APICall=1&APICGI=1&APICode=0x00000008&APIFile=2017-11-02_08-00&DateToCompare=2017-11-02&DateToProcess=2017-11-02&ObjRecogMode=1&CheatMode=1
它工作正常。
但是在 CLI(Windows 命令提示符)和使用 curl 时,我已经尝试过以下操作
curl "http://localhost/html/xpix/index.php?APICall=1&APICGI=1&APICode=0x00000008&APIFile=2017-11-02_08-00&DateToCompare=2017-11-02&DateToProcess=2017-11-02&ObjRecogMode=1&CheatMode=1"
即使tried using -s parameter 也不起作用。它只是打印 HTML 代码。
我试过无头使用谷歌浏览器,但还是不行
chrome.exe --headless --disable-gpu --remote-debuging-port=9222 "http://localhost/html/xpix/index.php?APICall=1&APICGI=1&APICode=0x00000004&APIFile=2017-11-02_08-00&DateToCompare=2017-11-01&DateToProcess=2017-11-01&ObjRecogMode=1&CheatMode=1"
这个脚本还包含一个 Ajax 并调用 Java Web 服务并将数据保存到 MySQL 数据库。
是否有遗漏配置?
【问题讨论】:
-
这行不通。
curl不能执行javascript,甚至html。它只会将其读取为字符串。您应该直接拨打Java Web Service。 -
使用
php -f怎么样?这只是一回事吗? -
是的。你说你通过 AJAX 调用
Java Web Service,这意味着它是 javascript。运行 javascript 的唯一方法是通过它的引擎(浏览器、nodejs、phantomjs)运行它。我认为你应该改变 cronjob 的工作方式。
标签: javascript php google-chrome curl