我有一个cron.php文件,它从网页中提取数据并每天保存。此网页需要身份验证才能访问正在检索的数据,因此cron.php文件使用cURL登录并保存cookie,然后在请求最终页面时使用此cookie。
cron.php文件存储在Windows服务器上,因此我需要使用Windows任务调度程序每天执行它。我有windows预定任务设置来调用shellscript.vbs
shellscript.vbs
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\Apache24\htdocs\Salesforce\script.bat" & Chr(34), 0
Set WinScriptHost = Nothing
script.bat
"C:\PHP\php.exe" -f "C:\Apache24\htdocs\Salesforce\cron.php"
问题在于,由于某种原因,当cron.php运行此过程时,cURL无法访问目标页面。当我在我的Web浏览器中执行cron.php时,它会下载页面并更新本地文件,只有通过执行script.bat内容才能失败。
我认为cURL无法正确使用cookie或不遵循重定向存在问题,这就是它没有检索到正确数据的原因,但我完全不知道。
答案 0 :(得分:0)
我最后只为Windows安装了wget
并使用了以下命令:
"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -q -O NUL http://example.com/cron.php