如何在没有显示身份验证窗口的情况下从具有标准http保护的服务器显示图像?
我现在使用标准html
<img src="...">
但由于图像受到保护,因此需要验证窗口。我有登录数据,如何显示图像?
问候,汤姆。
答案 0 :(得分:7)
这应该有效。只需将用户名和密码替换为您的身份验证详细信息(警告:不能在所有浏览器中使用)
<img src="http://username:password@server/Path" />
我建议将其放在服务器上的单独文件中。这样您就可以在不暴露身份验证信息的情况下引用它。
答案 1 :(得分:4)
我使用了IrishGeeks的小费来获得解决方案。它适用于所有浏览器。 script.php是
<?php
$url = $_GET['url'];
$c = curl_init($url);
$authString = 'user:pass';
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_USERPWD, $authString);
$content = curl_exec($c);
$contentType = curl_getinfo($c, CURLINFO_CONTENT_TYPE);
header('Content-Type:'.$contentType);
print $content;
?>
然后使用
<?php
print '<img src="script.php?url='.urlencode('http://www.example.com/image.bmp').'" />';
?>
获取图像。