2017-08-06 66 views
-1

InvalidURIError(坏的URI(是不是URI)?:https://api.flightstats.com/flex/schedules/rest/v1/json/from/VNS/to/DEL/departing/2017/ 8/7的appid = 94f56975 &的AppKey = 0a0dc2b64f177ab866f0dba59342ffa4)获得一些领域 怎么解决这个error.useing httparty post方法。InvalidURIError时httparty post方法,并通过用户

飞行= HTTParty.post(” https://api.flightstats.com/flex/schedules/rest/v1/json/from/# {PARAMS [:从]} /到/#{PARAMS [:至]} /出发/#{PARAMS [:年]}/ #{PARAMS [:月] } /#{params [:day]}?appId = 94f56975 & appKey = 0a0dc2b64f177ab866f0dba59342ffa4“)

+0

HTTParty.post(“https://api.flightstats.com/flex/schedules/rest/v1/json/from/#{params[:from]}/to /#{params [:to]}/departure /#{params [:year]} /#{params [:month]} /#{params [:day]}?appId = 94f56975&appKey = 0a0dc2b64f177ab866f0dba59342ffa4“) – rohan

+0

after删除空格,@headers = {“server”=> [“Apache-Coyote/1.1” ],“allow”=> [“HEAD,GET,OPTIONS”],“content-length”=> [“0”],“date”=> [“Sun,06 Aug 2017 14:15:32 GMT”] ,“连接”=> [“关闭”]}> – rohan

+0

你说的是正确的。如何获得我们的需求数据,因为我不使用flightstats api .. – rohan

回答

0

有两个问题。首先,URL包含导致无效URL的#{param‌​s[:year]}#{params[:month]}之间的空格。该代码尝试请求POST,但根据其documentation该端点接受GET请求。

你的代码更改为:

HTTParty.get(
    "https://api.flightstats.com/flex/schedules/rest/v1/json/from/"{params[:from]}/to/#{params[:to]}/departing/#{params[:year]}/#{params[:month]}/#{params[:day]}?appId=94f56975&appKey=0a0dc2b64f177ab866f0dba59342ffa4" 
) 
+0

谢谢你spickermann。 – rohan

+0

一个问题如何在我们的数据库中创建散列数据数组。多个记录被采取。如何创建一个。我是这样尝试的。 response.each do | hash | \t \t \t FS =散列[:FS] \t \t IATA =散列[:IATA]!Airport.create(FS:FS,IATA:IATA) \t \t渲染:JSON =>响应 \t \t端 – rohan

+0

OKK。但只有一个问题是允许的,为什么在这里问。 – rohan

相关问题