HTTP请求:400错误

时间:2016-07-15 02:21:28

标签: ruby-on-rails http http-status-code-400 alchemyapi

对于我在Rails工作的项目,我使用的是AlchemyData新闻API。我目前正在尝试在pry中运行HTTP请求,如下所示(我用替换my_api_key替换了我自己的API密钥,为清楚起见,>表示我是什么&#39 ; ve已输入并=>返回给我的内容:

> uri = URI.parse("https://gateway-a.watsonplatform.net/calls/data/GetNews?apikey=MY_API_KEY&outputMode=json&start=now-24h&end=now&q.enriched.url.title=A[Kim^Kardashian]&q.enriched.url.docSentiment.type=positive")
=> #<URI::HTTPS https://gateway-a.watsonplatform.net/calls/data/GetNews?apikey=MY_API_KEY&outputMode=json&start=now-24h&end=now&q.enriched.url.title=A[Kim^Kardashian]&q.enriched.url.docSentiment.type=positive>

> http = Net::HTTP.new(uri.host, uri.port)
=> #<Net::HTTP gateway-a.watsonplatform.net:443 open=false>

> response = http.request(Net::HTTP::Get.new(uri.request_uri))
=> #<Net::HTTPBadRequest 400 Bad Request readbody=true>

我不明白为什么我一直得到一个错误的请求&#34;错误。根据我的理解,当(通常)在url出现错误时返回,但是当我运行它时,它完美地工作。我的语法有问题还是有不同的错误?如果是这样,它是什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

通过使用HTTP gem(https://github.com/httprb/http)并使用它来处理我的HTTP请求来修复此问题,如下所示:

result = HTTP.get("my_url_here")