展开 Tumblr 缩短的链接

发布于 2024-11-28 19:05:26 字数 375 浏览 5 评论 0原文

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

为了与他们的 API 进行通信< a href="http://www.tumblr.com/docs/en/api/v2#overview" rel="nofollow">我需要博客的主机名,因此我需要将链接扩展为完整的链接。类似于: http://blogname.tumblr.com/post/XXXXXX

我如何扩展tumblr 链接缩短了?

I have a Tumblr link like this: http://tumblr.com/XXXXXXXX

In order to communicate with their API I need the hostname of the blog, therefore I need to expand the link to the complete link. Something like: http://blogname.tumblr.com/post/XXXXXX

How can I expand a tumblr shortened link?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

做个ˇ局外人 2024-12-05 19:05:27

这是在 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

希望对某人有帮助

Here's another way to do it in Ruby. It needs to follow tumblr redirection. From http://tmblr.co/XXXXX to http://www.tumblr.com/XXXXX and lastly to the expanded URL. From 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

Hope it helps someone

没有伤那来痛 2024-12-05 19:05:26

在 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))

Within the Tumblr API, I do not believe it is possible as mentioned by Derek Gottfrid. If you are using it within your app or service you can try looking at the headers.

For example in python, you can use urllib2

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

In PHP, you can use the get_headers method

$url = 'http://tumblr.com/XXXXXXXX'
print_r(get_headers($url))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文