对于我在Rails中从事的一个项目,我正在使用AlchemyData新闻API。我目前正在尝试在 pry 中运行一个 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")