【问题标题】:Why does HTTP::Response::decoded_content sometimes return undef even when content() returns data? [closed]为什么即使 content() 返回数据,HTTP::Response::decoded_content 有时也会返回 undef? [关闭]
【发布时间】:2010-01-31 20:55:55
【问题描述】:
我已经使用 LWP 功能来处理 gzip 编码的内容,如 here 所述,但在某些情况下,至少对于我测试过的一个网站,我随机得到了意想不到的结果:$response->decoded_content 可能变得未定义,而 $response->content仍然返回原始 gzip 编码的响应。即使没有内部字符集解码 (decoded_content(charset => 'none')) 也尝试过,结果相同。
【问题讨论】:
标签:
perl
encoding
gzip
lwp
【解决方案1】:
这并不能直接回答您的问题,但是当我遇到这样的事情时,我会查看模块的源代码以了解它在做什么,并像调试任何其他代码一样调试代码。查看HTTP::Message 中的decoded_content 方法可以准确地向您展示它所期望的。检查您的回复是否符合预期。
【解决方案2】:
服务器可能没有在响应中正确设置 Content-Encoding 吗?在任何情况下,请查看有效和无效响应的标头并寻找显着差异。