HTTParty のparsed_response
メソッドは、応答コード 200 を受け取った場合は Hash を返しますが、それ以外の場合は、Web サーバーが XML 応答を返すかどうかに関係なく String を返します。
HTTParty.get(post_url).parsed_response.class # Depends on response code
Amazon は、403 でも XML (問題の原因を説明する) を提供します。
何か不足していますか?
HTTParty は、HTTP 応答のヘッダーが#parsed_response
何であるかに基づいて解析します。Content-Type
その HTTP ヘッダーの値を確認します。あなたの場合、あなたはそれをしたいでしょうapplication/xml
。
今日もこの問題が発生している場合は、オブジェクトがハッシュget
であることを確認するのに役立つフォーマット パラメーターを使用できます。HTTParty::Response
url = HTTParty.get('http://domain.com', format: :json) # class is a Hash