展开的tumblr缩短链接
问题描述:
我有一个这样的的tumblr链接:http://tumblr.com/XXXXXXXX展开的tumblr缩短链接
为了与他们的API的博客I need the hostname沟通,因此我需要扩大链接到完整的链接。例如:http://blogname.tumblr.com/post/XXXXXX
如何扩展tumblr缩短的链接?
答
在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))
答
这里是另一种方式来做到这一点的红宝石。它需要遵循tumblr重定向。从http://tmblr.co/XXXXX到http://www.tumblr.com/XXXXX,最后到扩展的URL。从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
希望它可以帮助别人
感谢您的回答。我在线上回答。我可能会检查后端解决方案,尽管我会为此提供一个直接的API。 –