我有一个像这样的Tumblr链接:http://tumblr.com/XXXXXXXX
为了与博客的API I need the hostname进行通信,我需要将链接扩展到完整链接。类似于:http://blogname.tumblr.com/post/XXXXXX
如何扩展tumblr缩短的链接?
答案 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/XXXXX到http://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
希望它有助于某人