Xml Rails 3.2!!处理请求时出现意外错误:无效%-编码(bplist00;!";#$%)
我在向Rails应用程序发送POST数据时遇到此错误,数据是XMLXml Rails 3.2!!处理请求时出现意外错误:无效%-编码(bplist00;!";#$%),xml,ruby-on-rails-3,http,post,rack,Xml,Ruby On Rails 3,Http,Post,Rack,我在向Rails应用程序发送POST数据时遇到此错误,数据是XML !! Unexpected error while processing request: invalid %-encoding (bplist00� !"#$%) 问题是我无法更改传入的数据(它在PHP应用程序上运行良好,现在我需要在Rails应用程序中解析它),但我根本看不到数据,这个错误会在运行Rails的开发控制台中抛出(没有任何记录),我甚至不需要访问控制器,所以我至少可以输出它,看看它可能有什么问题,或者捕获
!! Unexpected error while processing request: invalid %-encoding (bplist00� !"#$%)
问题是我无法更改传入的数据(它在PHP应用程序上运行良好,现在我需要在Rails应用程序中解析它),但我根本看不到数据,这个错误会在运行Rails的开发控制台中抛出(没有任何记录),我甚至不需要访问控制器,所以我至少可以输出它,看看它可能有什么问题,或者捕获数据并转换它
似乎我甚至没有到达路由级别,因为删除应该捕获请求的路由没有任何区别,我得到了相同的错误。我在某个地方读到,它可能是一个错误的URL,但如果我看不到传入的数据,就无法知道这一点
因此,我的问题是:
application.rb
文件:
module Rack::Utils
def unescape(s, encoding = Encoding::UTF_8)
begin
URI.decode_www_form_component(s, encoding)
rescue
Rails.logger.warn "DECODING on #{s.inspect} with #{encoding.inspect} FAILING."
end
end
module_function :unescape
end
我可以在开发日志中看到以下内容:
DECODING on "bplist00\xDF\x10\x1C\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F !\"\#$%" with #<Encoding:UTF-8> FAILING.
解码“bplist00\xDF\x10\x1C\x01\x02\x03\x04\x05\x06\a\b\t\n\v\f\r\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\e\x1C\x1D\x1E\x1F!\“\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \。
关于如何解析这个问题有什么想法吗?这是我的解决方案(发布在类似问题上):