Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails HttpParty对IRB和文件的不同响应_Ruby On Rails_Ruby_Ruby On Rails 4_Irb_Httparty - Fatal编程技术网

Ruby on rails HttpParty对IRB和文件的不同响应

Ruby on rails HttpParty对IRB和文件的不同响应,ruby-on-rails,ruby,ruby-on-rails-4,irb,httparty,Ruby On Rails,Ruby,Ruby On Rails 4,Irb,Httparty,我在一个文件中得到了这个简单的代码,用于使用httpartygem测试API飞行服务 require 'httparty' body = { "apiKey": 'xxx', "country": 'IN', "currency": 'INR', "locale": 'en-GB', "originplace": 'DEL', "destinationplace": 'BLR', "outboundDate": '2016-10-14',

我在一个文件中得到了这个简单的代码,用于使用httpartygem测试API飞行服务

require 'httparty'

body = {
    "apiKey": 'xxx',
    "country": 'IN',
    "currency": 'INR',
    "locale": 'en-GB',
    "originplace": 'DEL',
    "destinationplace": 'BLR',
    "outboundDate": '2016-10-14',
    "adults": 1,
    "locationschema": 'Iata'
}
headers = { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'}

@response = HTTParty.post("http://partners.api.skyscanner.net/apiservices/pricing/v1.0/", :body => body,:headers => headers)
puts @response
puts "Response code #{@response.code}"
puts "Reponse header #{@response.headers['location']}"
@sessionKey = @response.headers['location']

sleep 1

@poll = HTTParty.get(@sessionKey.to_s, query: {apiKey: "xxx"})
puts @poll
puts "Polling #{@poll.parsed_response}"
如果我将其保存在像
api.rb
这样的文件中,并从终端运行它,除了
@response
,终端中的
@poll
对象不会显示任何输出。只是一片空白。空白线在那里。 但是

IRB
中,如果我逐行键入此代码,我将得到
@poll
对象的响应


为什么会发生这种情况?

可能是因为延误吗?如果您将
sleep 1
更改为,比如说,
sleep 10
,它是否有效?刚刚尝试过。还是没有。实际上,如果可以,请检查此处以生成API密钥-。在仪表板中选择旅行API。您可以检查
@session\u key
?自动过程和手动过程有何不同?它返回为
字符串
,我指的是内容。。。这有什么不同?可能是因为延误吗?如果您将
sleep 1
更改为,比如说,
sleep 10
,它是否有效?刚刚尝试过。还是没有。实际上,如果可以,请检查此处以生成API密钥-。在仪表板中选择旅行API。您可以检查
@session\u key
?自动过程和手动过程有何不同?它返回为
字符串
,我指的是内容。。。这有什么不同?