2017-09-25 156 views
0

我有一个cron.php文件,它从网页中提取数据并每天保存它。该网页需要身份验证才能访问正在检索的数据,因此cron.php文件使用cURL登录并保存cookie,然后在请求最终页面时使用此cookie。从Shell Shell运行PHP脚本时,cURL无法正常工作

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在这个过程中运行时,能够访问目标页面。当我在我的Web浏览器中执行cron.php时,它会下载页面并更新本地文件,只能通过执行失败的script.bat内容。

我在想cURL无法正确使用cookie或没有遵循重定向,这是它没有检索到正确数据的原因,但我完全不知道。

回答

0

我结束了刚刚安装Windows wget和使用下面的命令:

"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -q -O NUL http://example.com/cron.php