获取京东无水印主图的正确方式

今天早上来上班,按惯例查看了昨日的订单,但是今天忽然觉得订单列表的缩略图很是模糊,可能原本就是这样,由于我对网页代码的好奇心,习惯性的审查了一下缩略图元素,研究下京东是如何生成商品缩略图的。

在这之前我心里一直有个困惑,有时候要用到商品主图的原图,但是在图片空间里很难找到了,前台商品页可以取到800*800尺寸的图片,but带有京东水印,去掉这个水印是非常麻烦的事情,而且去掉水印后的效果会很糟糕。

折腾过后端技术,这些不同尺寸的缩略图和带水印的图片肯定是由服务器从一张原图上在线处理出来的效果,按常理处理图片应该是在图片链接的尾部加上样式规则代码,而我只需要去掉这些代码即可访问到原图,例如天猫&淘宝的:

tmall

只需要在浏览器地址栏去掉.jpg后面(高亮部分)的尺寸信息即可成功拿到高清无码的原图。

或者将后缀的240×240改成任意尺寸都可以直接获取到相应尺寸的图片,但是处理规则限制长宽在1:1的正方形比例中,而且不可超过原图的最大尺寸。

今天早上再一次查看京东缩略图链接的时候,突然有一个发现:

jd

链接里有一串可能是样式编码的字符“n7”,我尝试把它修改成其他数字,于是我改成“n6”,Enter后成功看到不同尺寸的图片。

惊喜之余把n0~n10全部测试了一次,郁闷的是,只有n0下输出的图片才是800*800的尺寸,但是!!!带有水印……

不服输的我马上打开脑洞,想到既然前端访问到的是处理过的图片,后台图片空间里访问到的是原图,何不对比一下链接!

jd2

不比不知道,很显然两者链接结构完全一样,只有原来的“n7”部分变成了“imgzone”。不废话,果断将原来有水印的图片链接里的“n7”改成了“imgzone”,Enter后成功看到感人的无水印原图。

为了保证不是login in状态下的效果,在其他店铺的图片上再次测试通过。

在写这篇文章的过程中,测试“n11~n20”的效果,发现其实“n12″的样式就是无水印的原图,跟“imgzone”的效果是一样的。

从此跟水印Say byebye~~~!