我正在使用WWW::Mechanize,并且目前在我的代码中处理带有'Content-Encoding: gzip
'头的HTTP响应,首先检查响应头,然后使用IO::Uncompress::Gunzip获取未压缩的内容。
但是,我希望能够透明地做到这一点,使得像form()、links()等WWW::Mechanize方法可以处理和解析未压缩的内容。由于WWW::Mechanize是LWP::UserAgent的子类,因此我更愿意使用LWP::UA::handlers来完成此操作。
虽然我部分成功了(例如,我可以打印未压缩的内容),但我无法以透明的方式调用它。
$mech->forms();
总之:我如何“替换”$mech对象内部的内容,以便从那时起,所有WWW::Mechanize方法都像Content-Encoding从未发生过一样工作?
我会非常感谢您的关注和帮助。 谢谢。