问题
How can i show an image from a server with standard http protection without showing the authentication window?
I now use standard html
<img src="...">
but because the image is protected this asks for an authentication window. I do have the login data, how can i show the image?
Regards, Tom.
回答1:
This should work. Simply replace the username and password with your authentication details. (Warning: Doesn't work in all browsers)
<img src="http://username:password@server/Path" />
I would recommend putting this in a separate file on your server. That way you can reference it without exposing the authentication info.
回答2:
I used IrishGeeks tip to get a solution. It works on all browsers. The script.php is
<?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;
?>
Then use
<?php
print '<img src="script.php?url='.urlencode('http://www.example.com/image.bmp').'" />';
?>
To get the image.
来源:https://stackoverflow.com/questions/24042994/how-to-show-an-image-which-is-secured-by-http-authentication