我有一个这样的 Tumblr 链接:http: //tumblr.com/XXXXXXXX
为了与他们的 API 通信,我需要博客的主机名,因此我需要将链接扩展为完整的链接。像:http ://blogname.tumblr.com/post/XXXXXX
如何扩展 tumblr 缩短链接?
我有一个这样的 Tumblr 链接:http: //tumblr.com/XXXXXXXX
为了与他们的 API 通信,我需要博客的主机名,因此我需要将链接扩展为完整的链接。像: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))
这是在 Ruby 中执行此操作的另一种方法。它需要遵循 tumblr 重定向。从http://tmblr.co/XXXXX到http://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
希望它可以帮助某人