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. jsでURLを短くするにはどうすればよいですか?
- 2. URLをカスタムスキームで短縮するにはどうすればよいですか?
- 3. ツイートのURLを取得するにはどうすればよいですか?
- 4. かなりのURLを使用するURLを取得するにはどうすればよいですか?
- 5. 外部URLを取得するにはどうすればいいですか
- 6. URLを取得するにはどうすればいいですか?C#
- 7. リクエストURLを解析する際にURLラベルを取得するにはどうすればよいですか?
- 8. スタックオーバーフローのようなきれいなURLを取得するにはどうすればよいですか?
- 9. URLを解析してベースURLを取得するにはどうすればよいですか? - Railsの3.1
- 10. ブラウザからペーストできるURLを取得するにはどうすればよいですか?
- 11. nodejsリクエストモジュールからリダイレクトされたURLを取得するにはどうすればよいですか?
- 12. URLから動画IDを取得するにはどうすればよいですか? (DailyMotionは)
- 13. .htaccessの正規表現でURLから%20を取得するにはどうすればよいですか?
- 14. 異なるURLのウェブサイトからオンラインオーディオストリーミングを取得するにはどうすればよいですか?
- 15. FacebookのURLからすべてのコメントを取得するにはどうすればよいですか?
- 16. ":back"に保存されているURLを取得するにはどうすればよいですか?
- 17. rsyncを使用してHTTP URLからファイルを取得するにはどうすればよいですか?
- 18. 特定の長いURLにリンクする短縮URLを見つけるにはどうすればよいですか?
- 19. PHP:mod_rewriteで書き換えられたURLを取得するにはどうすればよいですか?
- 20. JSPで書き換えられたURLを取得するにはどうすればよいですか?
- 21. URLからサブドメインの値を取得するにはどうすればよいですか?
- 22. ブラウザから現在のタブURLを取得するにはどうすればよいですか?
- 23. URLから大きな画像を取得するにはどうすればよいですか?
- 24. Dropbox ChooserからDropboxショートURLを取得するにはどうすればよいですか?
- 25. アクタ内から絶対のリモートアクタURLを取得するにはどうすればよいですか?
- 26. URLからfacebookのアルバムIDを取得するにはどうすればよいですか?
- 27. GoogleクエリからURLを取得するにはどうすればよいですか?
- 28. AJAXから最終的なリンク先URLを取得するにはどうすればよいですか?
- 29. FilterAttribute内から現在のURLを取得するにはどうすればよいですか?
- 30. pythonのダウンロードURLからファイルディスクリプタを取得するにはどうすればよいですか?
明らかに、これはリダイレクトの宛先を見つける有効な方法です。 –
特定の場所のヘッダーも確認して、リダイレクトの連鎖に従うことができます。 – rampion