Ruby RestClient.get强制返回响应对象
我正在使用RestClient.get获取一个图像文件,它将返回一个图像数据字符串Ruby RestClient.get强制返回响应对象,ruby,rest-client,Ruby,Rest Client,我正在使用RestClient.get获取一个图像文件,它将返回一个图像数据字符串 有时图像文件还没有准备好,它将返回一个202,然后RestClient.get将返回一个空字符串。我想知道响应头,如何强制RestClient.get返回响应对象?明白了,返回对象欺骗了我,就像这样: 2.0.0-p451 :037 > s = RestClient.get(url) 2.0.0-p451 :035 > s.class => String 2.0.0-p451 :036 &g
有时图像文件还没有准备好,它将返回一个202,然后RestClient.get将返回一个空字符串。我想知道响应头,如何强制RestClient.get返回响应对象?明白了,返回对象欺骗了我,就像这样:
2.0.0-p451 :037 > s = RestClient.get(url)
2.0.0-p451 :035 > s.class
=> String
2.0.0-p451 :036 > s.headers
=> {:allow=>"GET, HEAD, OPTIONS", :content_length=>"269", :content_type=>"image/png", :date=>"Wed, 23 Jul 2014 08:54:00 GMT", :last_modified=>"Wed, 23 Jul 2014 08:52:01 GMT", :server=>"nginx", :vary=>"Accept", :connection=>"keep-alive"}
看起来RestClient在字符串上施展了一些魔法。通过阅读,您似乎只需要检查返回值的
.code
。RestClient使用RestClient::Response
模块扩展从请求返回的字符串,该模块包括AbstractResponse
。例如,headersmethod在AbstractResponse
中定义。关于响应模块(包括AbstractResponse中包含的方法)的文档可以在这里找到:字符串的扩展可以在这里找到: