使用HTTParty

时间:2015-06-26 05:10:25

标签: ruby-on-rails ruby heroku httparty heroku-postgres

我在heroku上使用httparty时出现以下错误。

HTTParty适用于前11次,但在第12次显示此错误。

enter image description here

我正在尝试将数据播种到我的数据库中。

当我通过浏览器访问网址时,它可以运行。我在开发中运行相同的代码,它的工作原理。我不确定该怎么做。请帮忙!

2 个答案:

答案 0 :(得分:1)

您传递了无效的URI -

"https://maps.googlemaps.com/maps/api/geocode/json?address=San Fransisco"

地址在URI中有空格。

所以,无论你通过params,Do -

uri_path = https://maps.googlemaps.com/maps/api/geocode/json
params = {address: "San Fransisco",...............}

"#{uri_path}?#{params.to_param}"

答案 1 :(得分:0)

Amit Suroliya是对的。我也在使用HTTParty,它正在通过Curl和开发工作,但会在生产中崩溃。因为HTTParty参数是文字URL(作为字符串),所以它必须是完美的URL / URI(意味着没有空格)。我的<form role="form" action="Create_Account.php"> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="form-group"> <input type="text" name="firstname" id="firstname" class="form-control input-sm floatlabel createinput" placeholder="First Name"> </div> </div> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="form-group"> <input type="text" name="lastname" id="last_name" class="form-control input-sm createinput" placeholder="Last Name"> </div> </div> </div> <div class="form-group"> <input type="email" name="email" id="email" class="form-control input-sm createinput" placeholder="Email Address"> </div> <div class="row"> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="form-group"> <input type="password" name="password" id="password" class="form-control input-sm createinput" placeholder="Password"> </div> </div> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="form-group"> <input type="password" name="password_confirmation" id="password_confirmation" class="form-control input-sm createinput" placeholder="Confirm Password"> </div> </div> </div> <input type="submit" name="submit" value="Create Account" class="btn btn-primary btn-block register"> </form> 如下:

bad URI

注意插值HTTParty.get("http://api.blahblahblah.com/v1/Boards/Search?&limit=79&query=#{query}&filter_date_from=1423353600")

因此,如果query=#{query}",请注意query='Michelle Obama'Michelle之间的空格。由于插值,HTTParty.get('string')是不正确的。

解决方案

Obama替换字符串中的所有空格,或者使用+

我使用了%20

有关URL中空格的详细信息,请在此处查看:Spaces in URLs?