【问题标题】:HTTP Post Rails 4 IssueHTTP Post Rails 4 问题
【发布时间】:2015-08-11 05:21:02
【问题描述】:

提前感谢您的任何帮助。

我一直在尝试让我的 rails 4 应用程序从电子邮件解析 API 中获取数据,该 API 向我的应用程序中的指定 URL 发送 XML 响应时遇到了一个荒谬的问题。无论出于何种原因,我似乎都找不到,数据没有通过 API 的 HTTP Post 进入我的应用程序。

当我使用 requestb.in 和 Advanced Rest Client 进行测试时,一切正常,但是当我尝试将数据发送到我的应用程序时,没有骰子。我目前正在通过 Pow.cx 发送到我的开发分支,因此它有一个特定的 URL 可以发送到。我一直在使用谷歌的 Advanced Rest Client 和 requestb.in 进行测试,并使用 requestbin 让数据显示在 Advanced Rest Client 上没有问题,但是它不会进入我的应用程序。任何帮助将不胜感激。谢谢!!

我的路线:

get 'worldmate/receive', to: 'worldmate#receive'
post 'worldmate/receive', to: 'worldmate#receive'

在我的控制器中:

require 'nokogiri'
require 'net/http'
require 'open-uri'
require 'json'

class WorldmateController < ActionController::Base

def receive
    @request = request
    @xml = @request.body
    @string = @request.body.read
    @size = @request.body.size
end

我的erb:

<p> Request: <%= @string %> <p>
<br>
<p> Less Detailed Request: <%= @xml %> </p>
<br>
<p> Size: <%= @size %> </p>

我不知道为什么我的应用没有接收这些数据。当我使用 Advanced Rest Client 发送发布请求时,它工作得很好。任何和所有的帮助都非常感谢。非常感谢。

【问题讨论】:

  • 你的控制器动作怎么样?
  • 通过点击由该控制器操作控制的视图。无需为此进行任何调用,XML 在 HTTP Post 中发送到应用程序,并被发送到由 worldmate_controller 控制的路由。

标签: rest ruby-on-rails-4 xmlhttprequest http-post net-http


【解决方案1】:

我的猜测是您已将电子邮件解析服务配置为将数据发布到只能从本地系统访问的 URL,例如 pow.cx 样式的“.d​​ev” URL。

使用您的测试实用程序的原因是我假设测试客户端也在您的本地计算机上,因此您的本地服务器可以从那里寻址。

我解决此问题的方法是使用隧道。 Ngrok 是一个不错的低配置隧道工具,但有许多解决方案可以让您的本地开发环境从 Web 访问以进行测试。

【讨论】:

  • 非常感谢!那完全做到了。我认为这是某种开发环境问题,但不知道如何修复它,而且效果很好。
猜你喜欢
  • 1970-01-01
  • 2014-05-04
  • 2017-12-07
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多