我需要加载https文件。我使用wget
选项--no-check-certificate
。如果由ISE调试器启动,它将完美运行。如果我开始使用cmd-console:./myScript.ps1
,它甚至可以完美运行。但是一旦我设置任务计划程序以启动我的脚本,我得到:
--2016-02-07 19:44:01-- https://www.dailyfx.com/calendar/ Resolving www.dailyfx.com... 104.87.22.147 Connecting to www.dailyfx.com|104.87.22.147|:443... connected. WARNING: cannot verify www.dailyfx.com's certificate, issued by `/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3': Unable to locally verify the issuer's authority. WARNING: certificate common name `fxcm.com' doesn't match requested host name `www.dailyfx.com'. HTTP request sent, awaiting response... 403 Forbidden 2016-02-07 19:44:01 ERROR 403: Forbidden.
在致电之前,我设置了$ArgList
,然后拨打wget
:
$urlDFx = "https://www.dailyfx.com/calendar/"
$argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate"
$wg = Start-Process wget -wait -NoNewWindow -PassThru -ArgumentList $argList
其他变量是各种本地文件。
同样,它在ISE和CMD控制台中工作,但如果由任务计划程序启动则不行。脚本的另一部分执行没有任何问题:我做了另一个http文件并解析它。
我该怎么办?
答案 0 :(得分:0)
即使我不明白为什么现在有效,我也找到了解决方案! 我设置:
$argList = "$urlDFx -O $rawDFx -o $logDFx --no-check-certificate --verbose "
1)即使任务调度程序已启动脚本,它仍然有效。 2)wget的日志文件与之前完全相同。 (可能现在 - 跳过了?)