如何以编程方式访问受密码保护的网站?

时间:2009-07-07 17:00:56

标签: ajax web-services .htaccess passwords

我们网站的部分内容受.htaccess样式密码保护。当您尝试访问该网站的这个区域时,Web浏览器会弹出一个对话框,询问您的用户名和密码。

我需要以编程方式访问它(例如使用ajax调用)。服务器如何告诉我它需要密码以及如何提供密码?

4 个答案:

答案 0 :(得分:11)

答案 1 :(得分:4)

jQuery支持使用ajax()方法进行HTTP身份验证。这样的事情应该有效:

jQuery.ajax({
    type: "GET",
    url: "foo.php",
    username: "foo",
    password: "bar"
});

所有jQuery.ajax()选项的文档可以在这里找到:http://docs.jquery.com/Ajax/jQuery.ajax#options

答案 2 :(得分:3)

一般来说,http://user:pass@example.com

但是这有一些明显的安全缺陷。

更完整的解决方案可能是在用户通过身份验证后设置Session变量。

将AJAX帖子发送到检查身份验证的脚本。如果已通过身份验证,请使用CURL使用预定义的授权帐户获取结果。

这允许您重新使用基本的apache auth,但可以防止在DOM中写入任何密码。

答案 3 :(得分:2)

这当然不是ajax,但使用 wget 客户端,您可以使用--http-user和--http-password flags