展开Tumblr缩短链接

时间:2011-08-08 18:48:38

标签: api tumblr url-shortener

我有一个像这样的Tumblr链接:http://tumblr.com/XXXXXXXX

为了与博客的API I need the hostname进行通信,我需要将链接扩展到完整链接。类似于:http://blogname.tumblr.com/post/XXXXXX

如何扩展tumblr缩短的链接?

2 个答案:

答案 0 :(得分:0)

在Tumblr API中,我认为Derek Gottfrid所提到的不可能。如果您在自己的应用或服务中使用它,可以尝试查看标题。

例如在python中,您可以使用urllib2

import urllib2
tumb = urllib2.urlopen('http://tumblr.com/XXXXXXXX')
print tumb.url

在PHP中,您可以使用get_headers方法

$url = 'http://tumblr.com/XXXXXXXX'
print_r(get_headers($url))

答案 1 :(得分:0)

这是在Ruby中实现它的另一种方式。它需要遵循tumblr重定向。从http://tmblr.co/XXXXXhttp://www.tumblr.com/XXXXX,最后到扩展的网址。来自Net::HTTP documentation

require 'net/http'
require 'uri'

def get_permalink(uri_str, limit=5)
  # You should choose better exception.
  raise ArgumentError, 'HTTP redirect too deep' if limit == 0

  response = Net::HTTP.get_response(URI.parse(uri_str))
  case response
    when Net::HTTPOK then uri_str
    when Net::HTTPMovedPermanently
      get_permalink(response['location'], limit-1)
    when Net::HTTPFound
      get_permalink(response['location'], limit-1)
  end
end

希望它有助于某人