无法将数据从aws中的rails应用发送到android应用
我已经构建了一个rails应用程序,它可以与android应用程序交互。在本地主机上发送和接收来自android的数据工作正常。但当我上传到AWS EC2实例时,我只能从android向服务器发送数据,而不能反过来 我使用乘客宝石上传到AWS 我的rails代码接受应用程序的请求,该应用程序给出200 OK无法将数据从aws中的rails应用发送到android应用,android,ruby-on-rails,amazon-web-services,amazon-ec2,passenger,Android,Ruby On Rails,Amazon Web Services,Amazon Ec2,Passenger,我已经构建了一个rails应用程序,它可以与android应用程序交互。在本地主机上发送和接收来自android的数据工作正常。但当我上传到AWS EC2实例时,我只能从android向服务器发送数据,而不能反过来 我使用乘客宝石上传到AWS 我的rails代码接受应用程序的请求,该应用程序给出200 OK class Android::OnetimeloginController < ApplicationController respond_to :json # This hand
class Android::OnetimeloginController < ApplicationController
respond_to :json
# This handles one time login from the android app
def create
# Takes up the credentials from the android app and
# sends the header token to be used for further pings
credentials = permitted_credentials
# Checks the credentials and renders the responses
if credentials.has_key?("name")
if Branch.exists?(name: credentials["something"]) && credentials["password"] == "something"
response_json = {"response" => "Yes"}
render :json => response_json
else
render :text => "NO"
end
end
end
private
def permitted_credentials
params.require("credentials").permit(:name, :password, :tablet_id)
end
end
我检查了android请求中的“内容类型”和“接受”标题,但没有使用
请告诉我哪里出了问题?这是AWS的问题吗?我也有同样的错误。这不是rails脚本的问题。我认为您使用的截击框架可能已经损坏或有缺陷。尝试使用gradle从任何其他源导入库。尝试从mcxiaoke.volley导入。这对我来说很有效……您是否在移动web浏览器中的页面上发出请求?如果是这样,网页从何处获得服务?@Emil我正在使用截击从android应用程序发出请求,没有任何响应。您是否在服务器日志中看到您的请求和响应?是的,Emil我从android获得请求,从rails服务器获得的响应为200 OK。因此,您可以使用本地主机上的curl从EC2获得响应,但同样的请求不会在手机上给你任何回应。这很棘手。我不知道,但我建议使用调试器来查看在移动设备中使用HTTP客户端发出请求后发生的情况。谢谢Nikhil Gopinath…我认为问题不在于截击。工作很有魅力
curl -v -H "Content-type: application/json" -X POST -d ' {"credentials":{"name" : "something", "password": "something"}}' http://IP/path_to_controller