防盗链"/>
img src标签获取微信图片,突破防盗链
通过api获取微信图文消息,图片都是 =jpeg 这类的,能在浏览器能直接打开,但是放到img的src中就不可以,通过以下方式可以解决。
1.在html头中加入<meta name="referrer" content="never"> 问题解决
这个已经尝试,可以解决,但是有可能影响全局,有些需要referrer的程序也给整错误了。如果确实没有需要referrer的地方,那这个方式是最快最简单的
2.前后台配合解决,我用的是java
前台:<img src="http://127.0.0.1/getWxImage?url=XXXXX">
后台:
@RequestMapping("/getWxImage")
public void getWxImage(HttpServletResponse response , @RequestParam(required = true) String url) {
try {
URL readUrl = new URL(url);
URLConnection urlConnection = readUrl.openConnection();
urlConnection.setConnectTimeout(1000);
urlConnection.setReadTimeout(5000);
urlConnection.connect();
InputStream inputstream = urlConnection.getInputStream();
BufferedImage img = ImageIO.read(inputstream);
if(img != null) {
String format = url.substring(url.lastIndexOf("=")+1);
ImageIO.write(img, format, response.getOutputStream());
}
} catch (IOException e) {
}
}
这种需要后台api配合,但是不会影响系统其它地方
3.还有就是用JS方式解决,各种iframe,form等来跳过防盗链机制。但是这种方法,对代码的结构影响很大。对一些移动类库兼容性不太好。
更多推荐
img src标签获取微信图片,突破防盗链
发布评论