HTTParty と multi_xml に依存する gem を使用すると、次のエラーが発生します。
MultiXml::ParseError: xmlParseCharRef: invalid xmlChar value 25
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/multi_xml-0.5.5/lib/multi_xml/parsers/nokogiri.rb:15:in `parse'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/multi_xml-0.5.5/lib/multi_xml.rb:138:in `parse'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:111:in `xml'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:140:in `parse_supported_format'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:102:in `parse'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:66:in `call'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/request.rb:241:in `parse_response'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/request.rb:211:in `block in handle_response'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/response.rb:18:in `call'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/response.rb:18:in `parsed_response'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/response.rb:51:in `method_missing'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/commission_junction-1.5.0/lib/commission_junction.rb:146:in `link_search'
これはエンコーディングの問題か、ライブラリの 1 つが気に入らない文字が原因のようです。
私が使用している宝石は Commission_junction です。この問題を解決するには、フォークしてエンコーディング オプションを指定する必要がありますか? ここにあるコードを掘り下げています。
最新の Commission_junction と HTTParty gem を使用してみましたが、どうにもなりません。