我有一个API,当我返回我的文本/css时,该API是字符串格式而不是JSON,因此当我使用Postman击中API时,我将获得带有状态代码200的整个CSS数据但是,当我使用httpi或任何其他库击中同一API时,我将获得状态代码302,其中"您正在重定向",重定向是一个超链接,指向正确的CSS数据。
这是我使用httpi来获得Get请求的方式:
url = "https://<some-end-point>"
request = HTTPI::Request.new
request.url = url
request.headers = {"Content-Type"=>"text/css","Authorization"=>"
<authorised token>","api_version"=>"1"}
response = HTTPI.get(request)
puts response
经过大量努力,我发现HTTPI不支持重定向。因此,要解决它,我使用了
open-uri
甚至处理重定向。
require 'open-uri'
url = "https://<some-end-point>"
headers = {"Content-Type"=>"text/css","Authorization"=>"<authorised token>","api_version"=>"1"}
buffer = open(url,header).read