【发布时间】:2012-05-11 17:08:42
【问题描述】:
我想创建一个每次 X 次打开网页的 cronjob。
此网页受 .htaccess 密码保护(用户=管理员,密码=密码)。我给出的指令如下:
wget --user=admin --password='pass' http://www.mywebsite.com/test.php
但是 cron 给了我以下错误:
--2012-05-02 10:14:01-- http://www.mywebsite.com/test.php
Resolving www.mywebsite.com... IP
Connecting to www.mywebsite.com|IP|:80... connected.
HTTP request sent, awaiting response... 401 Authorization Required
Reusing existing connection to www.mywebsite.com:80.
HTTP request sent, awaiting response... 403 Forbidden
2012-05-02 10:14:01 ERROR 403: Forbidden.
我也试过这样做:
wget admin:pass@http://www.mywebsite.com/test.php
但有类似的错误。我该如何解决?提前感谢您的帮助。
【问题讨论】:
-
看起来错误的密码或用户名正在到达服务器。您能否在 shell 提示符下成功运行
wget命令,即不使用 cron? -
Anders,我在使用 shell 提示时也收到了同样的错误。但是密码是正确的,因为通过浏览器就可以了。
-
那么您的密码必须包含一些必须正确编码或转义的特殊字符 - 它是否包含类似
$、\、!、"...? -
那么现在是使用嗅探器比较浏览器和 wget 中的 http 流量的好时机。
Authorization:标头在两种情况下都应该相同。请注意,可能还有其他原因导致此问题,例如对 ip 或 useragent 的限制... -
嗨,我的 VPS 提供商给了我使用 -U firefox 的解决方案:
wget -U firefox --user=admin --password='pass' http://www.mywebsite.com/test.php现在它可以工作了
标签: .htaccess cron wget password-protection cron-task