喵宅苑 MewoGarden × 技术宅社区II | Z站 Z Station 棒棒哒纯文字二次元技术社区

正文

写了个可以解决因防盗链而图片无法显示的程序

作者:轻舟过
[i=s] 本帖最后由 轻舟过 于 2012-10-3 13:43 编辑 第一次发自己做的东西 转载一篇包含许多图片的文章到技术宅是一件很麻烦的事,因为许多网站有防盗链机制,直接复制粘贴的结果是所转载的内容中的图片全挂掉了。所以我需要把文章中所包含的图片都传到点点或者其他图床上去,然后再将文章的图片链接一张张替换成新的链接,感觉这样太麻烦了,于是花了点时间写了点代码,让“传图片到图床->替换图片链接”的操作自动化。 ps:使用的是imgur的服务,由于是国外的,速度上虽然比不上点点,不过个人觉得还是可以接受的。 工具采用的是小书签的形式,如果不知道什么是小书签,可以看一下之前的一篇文章 自己测试了下chrome、firefox都可以正常使用,其他浏览器不知道行不行,征人测试下。 安装方法:新建一个书签,在网址一栏中填入以下代码,名称可以随自己喜好随便取只要自己认得就好。 [mw_shl_code=text,false]javascript:(function(){ _my_script=editdoc.createElement('SCRIPT'); _my_script.type='text/javascript'; _my_script.src='http://jsbin.com/welcome/29583.js?x'+(Math.random()); editdoc.getElementsByTagName('head')[0].appendChild(_my_script);})();[/mw_shl_code] 使用方法:在发表帖子的页面上(高级模式)点一下刚刚保存的小书签,就会将编辑框中的图片都上传到imgur,然后替换掉图片链接,完成之后会弹出一个提示"done!"。 注意事项 1. 由于imgur的接口限制,一个小时内只能处理50张图片,一般人应该够用了吧~~ 2. 这个工具目前只能用于本论坛 3. 由于自己的javascript学得很渣,另外急于写出一个大致能用的程序,没有写错误处理的代码,应该会有许多bug,如果发现了就告诉我吧。 代码说明:安装方法部分的代码实际上是在html文档中插入一个script节点,然后调用所包含的js文件 http://jsbin.com/welcome/29583.js 29583.js中的代码也很简单,只有二十多行,也就是调用了一下imgur的上传图片的api,上传完成之后从应答json中取得新的图片链接替换掉原始的链接 [mw_shl_code=javascript,true]function process(idx, xhr, isLast) { return function(){ if (xhr.readyState==4 && xhr.status==200) { document.images[ idx ].src = JSON.parse(xhr.responseText).upload.links.original; if(isLast) alert("done!"); } }; } for(var i = 0; i < document.images.length; ++i) { src = document.images[ i ].src; var fd = new FormData(); fd.append("image", src); // Append the file fd.append("type", "url"); fd.append("key", "77c69b52f7992b9996a2cf963eee4651"); var xhr = new XMLHttpRequest(); xhr.onreadystatechange=process(i, xhr, i == document.images.length - 1); xhr.open("POST", "http://api.imgur.com/2/upload.json", true); xhr.send(fd); }[/mw_shl_code]

回复

有点不太明白这个意思

作者:admin
有点不太明白这个意思。。
查看回复

我觉得可以这样做

作者:轻舟过
mrduanpeng 发表于 2012-10-19 21:57 我觉得可以这样做,别的网站防盗链大部分是根据refer来控制的,如果页面图片出现404即触发一个AJAX事 ...
嗯,refer之类的我也听说过 不过感觉还是把图片弄到新的图床上才能一劳永逸地解决问题吧
查看回复

我觉得可以这样做

作者:mrduanpeng
我觉得可以这样做,别的网站防盗链大部分是根据refer来控制的,如果页面图片出现404即触发一个AJAX事件,去进行HTTP模拟请求图片,把refer设为它自己的网站
查看回复

自建图床

作者:轻舟过
飛天鼠 发表于 2012-10-4 23:06 自建图床
自建没这个资源啊
查看回复

技术区那些文章不会也是乃自己翻译的吧

作者:轻舟过
いもど俺の嫁 发表于 2012-10-4 22:44 + + 技术区那些文章不会也是乃自己翻译的吧、、
不是,没有精力做翻译啊
查看回复

自建图床

作者:飛天鼠
#7109!自建图床
查看回复

写程序什么的才是主业啦

作者:いもど俺の嫁
轻舟过 发表于 2012-10-4 22:30 写程序什么的才是主业啦~
+ + 技术区那些文章不会也是乃自己翻译的吧、、
查看回复

写程序什么的才是主业啦

作者:いもど俺の嫁
轻舟过 发表于 2012-10-4 22:30 写程序什么的才是主业啦~
+ + 技术区那些文章不会也是乃自己翻译的吧、、
查看回复
上一页
下一页
0%
站点地图友情链接:
喵宅苑
喵空间社区程序
喵宅苑 静态版
宅喵RPG地图编辑器
络合兔
Lanzainc
技术宅
小五四博客
莉可POI
Mithril.js
枫の主题社
Project1
午后少年
机智库
七濑胡桃
xiuno
幻想の日常
魂研社
Nothentai
0xffff
欲望之花
泽泽社长
淀粉月刊
HAYOU