如何从短网址获取长网址?

问题描述 投票:0回答:4

使用 Ruby,如何将短 URL(tinyURL、bitly 等)转换为相应的长 URL?

ruby url bit.ly short
4个回答
14
投票

我不使用 Ruby,但总体思路是向服务器发送 HTTP HEAD 请求,服务器反过来将返回 301 响应(永久移动),其中包含 URI 的

Location
标头。

HEAD /5b2su2 HTTP/1.1
Host: tinyurl.com
Accept: */*

回应:

HTTP/1.1 301 Moved Permanently
Location: http://stackoverflow.com
Content-type: text/html
Date: Sat, 23 May 2009 18:58:24 GMT
Server: TinyURL/1.6

这比打开实际 URL 快得多,而且您并不真的想获取重定向的 URL。它也与tinyurl 服务配合得很好。

查看 ruby 中的任何 HTTP 或curl API。应该很容易。


11
投票

您可以使用 httpclient rubygem 来获取标头

#!/usr/bin/env ruby

require 'rubygems'
require 'httpclient'

client = HTTPClient.new

result = client.head(ARGV[0])
puts result.header['Location']

2
投票

这里有一个很棒的 Python 中的 bitly API 包装器: http://code.google.com/p/python-bitly/

所以 Ruby 一定有类似的东西。


0
投票

创建一个简短的 URL,以便于在网站上共享,URL 链接缩短器使用其免费、简单和快速的工具来管理您的链接。

使用我们的网址缩短服务将您的长网址转换为动态短链接。获得简单易用的免费网址缩短器。

InShorten 提供免费的 URL 缩短服务,使您的链接更易于管理和共享。使用我们易于使用的缩短工具优化您的网络形象。

© www.soinside.com 2019 - 2024. All rights reserved.