HTTParty parsed_response返回String而不是Hash

时间:2011-12-30 08:20:26

标签: ruby httparty

如果你得到一个响应代码200,HTTParty的parsed_response方法会返回一个Hash,但无论web服务器是否返回XML响应,它都会返回一个字符串。

HTTParty.get(post_url).parsed_response.class # Depends on response code

即使在403上,亚马逊也会提供XML(解释出现了什么问题)。

我错过了什么吗?

2 个答案:

答案 0 :(得分:8)

HTTParty根据HTTP响应的#parsed_response标头解析其Content-Type。验证该HTTP标头的值是什么。在您的情况下,您希望它为application/xml

答案 1 :(得分:4)

如果今天仍有人遇到此问题,get可以采用格式参数,这可以帮助您确保HTTParty::Response对象是哈希:

url = HTTParty.get('http://domain.com', format: :json) # class is a Hash