我的應用程序有以下控制器動作:如何使用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'。 –