【问题标题】:Rails or Sinatra - How can I handle an invalid HTTP request?Rails 或 Sinatra - 如何处理无效的 HTTP 请求?
【发布时间】:2011-11-02 06:07:38
【问题描述】:

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

我想从 Rails(或 Sinatra)应用程序中获取这些数据,但是数据包没有作为有效的 HTTP 请求发送,而且 Rails 和 Sinatra 都失败了。

这是 Rails 错误: ERROR bad Request-Line

还有 Sinatra 错误: !!无效请求

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

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

非常感谢您的帮助:)

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

【问题讨论】:

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


    【解决方案1】:

    我终于找到了一个解决方案,就是用 Socket 库创建一个监听给定端口的 ruby​​ 脚本。此处提供了一些琐碎但有用的示例:http://www.tutorialspoint.com/ruby/ruby_socket_programming.htm

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      • 2011-03-27
      • 2016-10-28
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      相关资源
      最近更新 更多