Очистка экрана и прокси с использованием Ruby

Я знаю, что здесь есть несколько тем для очистки экрана, но ни один из ответов меня не удовлетворил.

Я пытаюсь очистить HTML-код с внешней веб-страницы, используя javascript. Я использую $.ajax, и все должно работать нормально. Вот мой код:

$.ajax({
    url: "my.url/path",
    dataType: 'text',
    success: function(data) {
        var myVar = $.get(url);
        alert(myVar);
    }
});

Единственная проблема заключается в том, что он ищет указанный URL-адрес на моем веб-сервере. Как использовать прокси для доступа к внешней веб-странице?


person imnotfred    schedule 21.09.2012    source источник
comment
Это зависит от типа сервера, который вы используете, и от того, какой серверный язык вы хотите использовать.   -  person Diodeus - James MacFarlane    schedule 21.09.2012
comment
Я использую встроенный рубин для сервера   -  person imnotfred    schedule 21.09.2012
comment
Я отредактировал ваш заголовок, чтобы он был более подходящим для аудитории.   -  person Diodeus - James MacFarlane    schedule 21.09.2012
comment
Ну, проблема в том, что сайт, к которому я пытаюсь получить доступ, недоступен с сервера. Таким образом, я пытаюсь получить к нему доступ через javascript, потому что клиенты, обращающиеся к серверу, могут получить доступ к другой веб-странице. На самом деле, я уже обращаюсь к внешней веб-странице с моего рубинового сервера, но это не работает для моего приложения, поэтому мне нужно попытаться сделать это в javascript.   -  person imnotfred    schedule 21.09.2012
comment
Политика того же происхождения не позволяет вам совершать вызовы AJAX к другим доменам, поэтому это не сработает.   -  person Diodeus - James MacFarlane    schedule 21.09.2012
comment
Могу ли я получить json с помощью jsonp?   -  person imnotfred    schedule 21.09.2012
comment
ЕСЛИ внешний сервер явно разрешает вам.   -  person Diodeus - James MacFarlane    schedule 21.09.2012
comment
Ну, я понял. JSON не совсем дает мне точно то, что я хочу, но это только начало. Спасибо за вашу помощь!   -  person imnotfred    schedule 21.09.2012


Ответы (1)


Из-за ограничений межсайтового скриптинга вам придется передать нужный URL-адрес странице на вашем сервере, которая будет запрашивать рассматриваемый URL-адрес со стороны сервера, а затем возвращать вам результаты. Взгляните на приведенный ниже поток и включите его в свое приложение, чтобы оно возвращало исходный код, когда эта страница попадает в вашу функцию AJAX.

Как получить HTML-источник веб-страницы в Руби

Использование запроса GET будет самым простым способом передачи URL-адреса страницы, которую вы хотите получить на свой сервер, чтобы вы могли вызвать что-то вроде:

$.ajax("fetchPage.rb" + encodeURI(http://www.google.com))

Поскольку вы не можете получить доступ к рассматриваемой стороне напрямую с сервера, вам придется передать скрипт на стороне сервера через прокси-сервер, чтобы запрос работал, что действительно зависит от вашей настройки. Взглянем на класс Proxy в Ruby:

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-Proxy

person TMan    schedule 21.09.2012