我有一个正在运行的网站https
。
我必须从外部服务器(外部域)加载图像,该服务器没有 https,但只有一个http
协议。
有没有办法处理代理http
通过 PHP 或 Node 获取图像?所以我可以像这样渲染图像:
<img src="https://domain.com/proxy?url=http://externaldomain.com/image.jpg" />
这个想法是避免将图像保存在本地,而只显示它们。
当我尝试渲染时http
里面提供图像https
域,我收到此控制台消息:
页面位于https://domain.com/ https://domain.com/显示来自的不安全内容http://externaldomain.com/image.jpg http://externaldomain.com/image.jpg.
另外,地址栏中的 SSL (/https) 锁定图标变为灰色。
您可以使用节点,它只会通过管道传输图像,而不是在发送到客户端之前将整个图像加载到内存中(例如file_get_contents
在 php 中就可以了)。
为了简单起见,在本示例中使用请求流媒体 https://github.com/mikeal/request#streaming:
var https = require('https');
var url = require('url');
var request = require('request');
var server = https.createServer(function (req, res) {
var queryData = url.parse(req.url, true).query;
if (queryData.url) {
var x = request(queryData.url);
req.pipe(x).pipe(res);
} else {
res.writeHead(400, {"Content-Type": "text/plain"});
res.end("No url");
}
});
// Listen on port 443
server.listen(443);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)