Rubyを使用して、短いURL(tinyURL、bitlyなど)を対応する長いURLに変換するにはどうすればよいですか?短いURLから長いURLを取得するにはどうすればよいですか?
7
A
答えて
14
私はRubyを使用しませんが、HTTP HEAD要求をサーバに送信して、そのURIを含むLocation
ヘッダを持つ301レスポンス(Moved Permanently)を返します。
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サービスでうまくいく。
ルビーのHTTPまたはcurl APIを調べます。それはかなり簡単なはずです。 http://code.google.com/p/python-bitly/
だからRuby用の似たような存在でなければなりません。
11
現在地利用できるPythonでbitly APIのための偉大なラッパーがあり、ヘッダー
#!/usr/bin/env ruby
require 'rubygems'
require 'httpclient'
client = HTTPClient.new
result = client.head(ARGV[0])
puts result.header['Location']
+0
最後の3行を1つに集約すると便利です: 'longUrl = HTTPClient.new.head(" http://bit.ly/GFscreener12 ").header ['Location'] [0]' – Marcos
2
を取得するためにHTTPClientをrubygemを使用することができます。
関連する問題
- 1. 長いURLからの短いURLを取得
- 2. URLをカスタムスキームで短縮するにはどうすればよいですか?
- 3. jsでURLを短くするにはどうすればよいですか?
- 4. YouTubeのビデオURLから直接ビデオURLを取得するにはどうすればよいですか?
- 5. URLを短縮するにはどうすればよいですか?
- 6. コールバックURLを取得するにはどうすればよいですか?
- 7. ツイートのURLを取得するにはどうすればよいですか?
- 8. かなりのURLを使用するURLを取得するにはどうすればよいですか?
- 9. 外部URLを取得するにはどうすればいいですか
- 10. URLを取得するにはどうすればいいですか?C#
- 11. javacriptで責任あるURLの長さを取得するにはどうすればいいですか
- 12. リクエストURLを解析する際にURLラベルを取得するにはどうすればよいですか?
- 13. スタックオーバーフローのようなきれいなURLを取得するにはどうすればよいですか?
- 14. $ routeProviderからURL句を取得するにはどうすればよいですか?例えば
- 15. URLを解析してベースURLを取得するにはどうすればよいですか? - Railsの3.1
- 16. ブラウザからペーストできるURLを取得するにはどうすればよいですか?
- 17. nodejsリクエストモジュールからリダイレクトされたURLを取得するにはどうすればよいですか?
- 18. インターネットショートカット(.url)のURLを取得するにはどうすればよいですか?
- 19. URLから動画IDを取得するにはどうすればよいですか? (DailyMotionは)
- 20. .htaccessの正規表現でURLから%20を取得するにはどうすればよいですか?
- 21. Request $ requestでURLからIDを取得するにはどうすればよいですか?ビュー上(Laravel 5.3)
- 22. Google Apps ScriptでGoogleスプレッドシートのセルからURLを取得するにはどうすればよいですか?
- 23. 返品URLなしでPodioからAPIキーを取得するにはどうすればよいですか?
- 24. ブラウザからJavaコードにURLを取得するにはどうすればよいですか?
- 25. 異なるURLのウェブサイトからオンラインオーディオストリーミングを取得するにはどうすればよいですか?
- 26. FacebookのURLからすべてのコメントを取得するにはどうすればよいですか?
- 27. rsyncを使用してHTTP URLからファイルを取得するにはどうすればよいですか?
- 28. ":back"に保存されているURLを取得するにはどうすればよいですか?
- 29. 特定の長いURLにリンクする短縮URLを見つけるにはどうすればよいですか?
- 30. PHP:mod_rewriteで書き換えられたURLを取得するにはどうすればよいですか?
明らかに、これはリダイレクトの宛先を見つける有効な方法です。 –
特定の場所のヘッダーも確認して、リダイレクトの連鎖に従うことができます。 – rampion