如果你得到一个响应代码200,HTTParty的parsed_response
方法会返回一个Hash,但无论web服务器是否返回XML响应,它都会返回一个字符串。
HTTParty.get(post_url).parsed_response.class # Depends on response code
即使在403上,亚马逊也会提供XML(解释出现了什么问题)。
我错过了什么吗?
答案 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