HTTP 请求:400 错误

HTTP request: 400 error

对于我在 Rails 从事的项目,我正在使用 AlchemyData 新闻 API。我目前正在尝试 运行 撬动一个 HTTP 请求,如下所示(我用 my_api_key 替换了我自己的 API 密钥,为了清楚起见, > 表示我输入的内容和 => 返回给我的内容):

> 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>

我不明白为什么我总是收到“400 错误请求”错误。根据我的理解,当 url 出现错误时(通常)返回,但是当我 运行 我的时候它工作得很好。我的语法有问题还是有其他错误?如果是这样,它是什么?我该如何解决这个问题?

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

result = HTTP.get("my_url_here")