Как сделать сайт на моем собственном домене с помощью Ruby on Rails или чего-то еще? - PullRequest
5 голосов
/ 27 апреля 2010

Вот чего я бы хотел достичь:

  1. URL-адрес пользователя (например, http://google.com)
  2. ПОЛУЧИТЕ страницу и отобразите ее на моем собственном домене
  3. Пройдите через DOM (используя JS) и весь этот джаз

Проблема в том, что я не хочу использовать iFrame, потому что тогда я не могу пройти DOM загруженной страницы.

Единственное решение, которое я могу придумать, - это проанализировать страницу на предмет относительных URL-адресов и установить их как абсолютные. Может не работать везде. Другой способ - запустить wget и сохранить все (даже изображения) во временной папке. Масштабировать это было бы невозможно.

Есть еще идеи?

1 Ответ

3 голосов
/ 27 апреля 2010

Походит на простой обратный прокси. Ваш сервер рельсов может использовать open-uri для загрузки сайта в действии и рендеринга того же HTML.

class ProxyController < ActionController::Base

  def get
    require 'open-uri'
    file = open params[:url]
    render :inline => file.read
  end

end

Получите доступ к этому, используя что-то вроде: (не забудьте при необходимости кодировать URL)

http://mysite.com/proxy/get?url=http://www.proxiedsite.com

Перед рендерингом HTML вы можете выполнить некоторый анализ, добавив на страницу все, что вы хотите, включая JavaScript.

Я предполагаю, что вы ознакомитесь с условиями использования любого прокси-контента.

...