Как я могу показать изображение с сервера со стандартной защитой HTTP без отображения окна проверки подлинности?
Теперь я использую стандартный html
<img src="...">
но поскольку изображение защищено, запрашивается окно проверки подлинности. У меня есть данные для входа, как я могу показать изображение?
С уважением, Том.
Это должно сработать. Просто замените имя пользователя и пароль на свои данные аутентификации. (Предупреждение: не работает во всех браузерах)
<img src="http://username:password@server/Path" />
Я бы порекомендовал разместить это в отдельном файле на вашем сервере. Таким образом вы можете ссылаться на него, не подвергая аутентификационной информации.
Я использовал совет 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').'" />'; ?>
Чтобы получить изображение.