Tumblr图像的URL架构是什么?

Jim*_* T. 24 url image tumblr

Tumblr上图像文件的架构是什么?(我不是说HTTP)我只是想出了存储图像的服务器的域名<n>.media.tumblr.com,其中n是1到31之间的数字,图像文件的名称前缀为" tumblr_.

我问,因为我想找到引用相同图像的URL.

编辑:我也在处理来自其他来源的网址,而不仅仅是Tumblr.

mik*_*his 52

概观

将图像上传到Tumblr时,会生成多个(同一图像的)大小并存储在其网络中.

上传后,您可以使用模板标签在以下尺寸要求这一形象:75,100,250,400,5001280.

值得一提的是:

  1. 模板标记中的值是请求图像的最大大小.示例:400版本的图像可以是251px400px宽/高之间的任何位置.
  2. 可能没有高分辨率1280版本的图像.如果原始图像为500px或更低,则不会生成1280版本.
  3. 照片不会产生100版本.

图片网址

图片网址将是以下两者之一.第一个URL似乎与超过6个月前上传的图像相关联(这是猜测),第二个URL似乎适用于较新的图像:

http://36.media.tumblr.com/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Run Code Online (Sandbox Code Playgroud)

要么

http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Run Code Online (Sandbox Code Playgroud)

URL架构

这可以分为三个部分,两个变量,一个常数.

  1. http://36
  2. .media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1
  3. _500.jpg

1这是服务器编号,每个图像大小可能不同.AFAIK无法保证所有服务器上都可以使用图像大小.@Ally在评论中提到你可以从URL中删除这部分,仍然可以找到图像.
2这是Tumblr子域,目录(如果适用)和部分文件名.对于所有尺寸,这都是相同的.
3这是请求的大小(与模板标记匹配)和文件扩展名.

使用模板标记生成可用的所有尺寸的URL.

我发现的唯一简单方法是使用相应的模板标签并将它们分配给data-属性.

示例模板代码:

<img src="{PhotoURL-100}" data-250u="{PhotoURL-250}" data-400u="{PhotoURL-400}" data-500u="{PhotoURL-500}" data-1280u="{block:HighRes}{PhotoURL-HighRes}{/block:HighRes}" />
Run Code Online (Sandbox Code Playgroud)

示例呈现代码:

<img src="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_100.jpg" data-250u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_250.jpg" data-400u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_400.jpg" data-500u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg" data-1280u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_1280.jpg" >
Run Code Online (Sandbox Code Playgroud)

使用此方法,您可以确定您拥有正确的网址,并且您知道可用的尺寸.

仅基于一个URL黑客攻击所有大小的URL.

使用此信息,URL将变为:

http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Run Code Online (Sandbox Code Playgroud)

以下是确认我们访问所有可用尺寸的测试:

你仍然不知道1280尺寸是否已经生成,但它更近了一步.使用此方法,您可以使用新大小替换值(第3部分),并且您应该能够获取图像.

  • 一般来说,您不需要服务器的号码.`http://media.tumblr.com/...`应该有效.如果你已经开始使用服务器号码,我不知道如何在Tumblr之外抓住它.我会考虑一下. (2认同)
  • Atention!我刚刚意识到,tumblr不允许在没有服务器号的情况下使用part1.这个答案刚刚过时了. (2认同)
  • 仅供参考:正如@DavidMabodo所说,服务器号仍然是强制性的.你能刷新一下文字吗?但这并不重要.所有其他信息似乎都是有效的. (2认同)