目前我正在使用rails 3.2.3进行网络分析等项目
我有两台服务器,一台正在运行port 3001
,另一台正在运行port 3000
。
这里端口 3001 是服务器(假设这是 Google 网络分析服务器),端口 3000 服务器是最终用户(假设这是您的站点)。现在我需要从端口 3000 获取请求对象。
如果我写下面的代码,我可以获得浏览器的详细信息。
application.html.erb - 这是用户端代码。
<script type="text/javascript"
src="http://localhost:3001/tracks/track_client?bwname=<%= request.env["HTTP_USER_AGENT"] %>">
</script>
这是服务器端coce
def track_client
params.each do |key,value|
Rails.logger.warn "Param #{key}: #{value}"
end
end
{bwname=>Mozilla/5.0 (Windows NT 6.1", " WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2}
但我需要用户的请求对象,其所有属性都不是特定的。就像我也需要其他属性一样
"GATEWAY_INTERFACE", "PATH_INFO", "QUERY_STRING", "REMOTE_ADDR", "REMOTE_HOST", "REQUEST_METHOD", "REQUEST_URI", "SCRIPT_NAME", "SERVER_NAME", "SERVER_PORT", "SERVER_PROTOCOL", "SERVER_SOFTWARE", "HTTP_HOST", "HTTP_USER_AGENT",
"HTTP_ACCEPT", "HTTP_ACCEPT_LANGUAGE", "HTTP_ACCEPT_ENCODING", "HTTP_DNT"=>"1", "HTTP_CONNECTION", "HTTP_COOKIE", "HTTP_IF_NONE_MATCH", "HTTP_CACHE_CONTROL"
除此之外,我还需要一些其他参数,就像这样
<script type="text/javascript"
src="http://localhost:3001/tracks/track_client?userid=1234&bwname=<%= request.env %>">
</script>