从Shell Shell运行PHP脚本时,cURL无法正常工作
问题描述:
我有一个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或没有遵循重定向,这是它没有检索到正确数据的原因,但我完全不知道。
答
我结束了刚刚安装Windows wget
和使用下面的命令:
"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -q -O NUL http://example.com/cron.php