怎么给防外链的图片做代理访问呢?
浏览器里可以直接访问,但是在自己的域名下,用<img>显示就返回403
所以想做个代理访问,但是如下代码返回的内容不对,头大
求大佬们帮忙看下吧
http://abc.com/proxy?url=http://xxx.com/1.jpg
最好可以做到url的query传递要访问的url,就可以返回指定url的img或html
可以用python或nodeJs都行,最终会放在阿里云的云函数中运行
var http = require('http')
var fs = require('fs')
const proxy = (url) => {
return new Promise(resolve => {
http.get(url, res => {
var result = ''
res.setEncoding('binary')
res.on('data', function(data) {
result += data
})
res.on('end', function() {
resolve(result)
})
})
})
}
exports.handler = async (req, res, context) => {
console.log(req.queries.url)
res.setHeader("content-type", "image/jpg")
return res.send(await proxy(req.queries.url))
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
自己解决啦~~~
以下代码支持html和img的代理
放在阿里云函数(运行环境 Node.JS 12.x HTTP 函数)里就能用