我知道这里有几个屏幕抓线程,但没有一个答案让我很满意。
我正在尝试使用javascript从外部网页抓取HTML。我使用$ .ajax,一切都应该正常。这是我的代码:
$.ajax({
url: "my.url/path",
dataType: 'text',
success: function(data) {
var myVar = $.get(url);
alert(myVar);
}
});
唯一的问题是它正在我的Web服务器中查找指定的URL。如何使用代理访问外部网页?
答案 0 :(得分:0)
由于跨站点脚本限制,您将不得不将所需的URL传递到服务器上的页面,该页面将从服务器端查询相关URL,然后将结果返回给您。看看下面的线程并将其合并到您的应用程序中,并在您的AJAX函数命中该页面时让它返回源。
How to get the HTML source of a webpage in Ruby
使用GET请求是转移您要获取服务器的网页的最简单方法,因此您可以调用以下内容:
$.ajax("fetchPage.rb" + encodeURI(http://www.google.com))
由于您无法直接从服务器访问相关方,因此您必须通过代理管道服务器端脚本以使请求正常工作,这实际上取决于您的设置。看一下Ruby中的Proxy类:
http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-Proxy