我在heroku上使用httparty时出现以下错误。
HTTParty适用于前11次,但在第12次显示此错误。
我正在尝试将数据播种到我的数据库中。
当我通过浏览器访问网址时,它可以运行。我在开发中运行相同的代码,它的工作原理。我不确定该怎么做。请帮忙!
答案 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?