我的应用程序有以下控制器动作:如何使用Rails使用代理解析URL?
def test
#get URL
url = "http://www.coteur.com/surebet.php"
doc = Nokogiri::HTML(open(url))
@show = doc.at_css("title").text
@game_data = Array.new
doc.css('tbody').each do |tr|
tr.css("tr").each do |f|
@game_data.push(f.css("td").text)
end
end
end
并呈现以下几种观点:
<%= @show%>
<div class="bs-example" data-example-id="hoverable-table">
<table class="table table-hover">
<tbody>
<% if @game_data.empty? %>
<tr>
<td>Nope</td>
</tr>
<%else%>
<% @game_data.each do |game|%>
<tr>
<td><%= game%></td>
</tr>
<%end%>
<%end%>
</tbody>
</table>
</div>
一切工作正常,但本地Heroku上的<%= @game_data%>
看起来是空的,而它不应该是。问题是,在美国它不起作用,但在欧盟它却行。那么我该如何使用代理或更改服务器位置或其他东西来解决这个问题?
当您在美国区域运行时,您是否看到日志中有任何错误?它可以在不需要代理的情况下解决。另外,不要将用户数据传递到'open()',因为它会将应用程序打开到远程执行代码。 – Drenmi
您可以使用'doc.title'而不是'doc.at_css(“title”).text'。 –