Rails或Sinatra - 如何处理无效的HTTP请求?

时间:2011-08-23 19:39:55

标签: ruby-on-rails-3 sinatra rack http-request

我有一台3G + GPS设备(Digi WR44)可以将NMEA数据包发送到任何IP地址。

我想从Rails(或Sinatra)应用程序获取此数据,但数据包不会作为有效的HTTP请求发送,并且Rails和Sinatra都会失败。

以下是Rails错误: ERROR错误的请求行

Sinatra错误: !请求无效

我似乎无法将设备配置为发送有效的HTTP请求而不是普通内容,您知道是否有办法处理由纯文本组成的HTTP请求?

我尝试使用PHP脚本,NMEA数据包被解释为request_method,但我想在此项目中使用ruby(使用模型访问)。

非常感谢您的帮助:)

PS:我正在运行Ruby,RoR和Sinatra的最新版本

1 个答案:

答案 0 :(得分:2)

我终于找到了一个解决方案,即创建一个使用Socket库监听给定端口的ruby脚本。这里提供了一些简单但有用的示例:http://www.tutorialspoint.com/ruby/ruby_socket_programming.htm

在非rails ruby​​脚本中访问activerecord也很容易:http://blog.aizatto.com/2007/05/21/activerecord-without-rails/