0

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

为了与他们的 API 通信,我需要博客的主机名,因此我需要将链接扩展为完整的链接。像:http ://blogname.tumblr.com/post/XXXXXX

如何扩展 tumblr 缩短链接?

4

2 回答 2

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))
于 2011-08-08T21:27:04.653 回答
0

这是在 Ruby 中执行此操作的另一种方法。它需要遵循 tumblr 重定向。从http://tmblr.co/XXXXXhttp://www.tumblr.com/XXXXX,最后到扩展的 URL。来自Net::HTTP 文档

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

希望它可以帮助某人

于 2012-12-04T23:13:04.907 回答