perl – 检测HTTP :: Response中的重复标头

perl – 检测HTTP :: Response中的重复标头,第1张

概述我有来自远程服务器的HTTP :: Response Perl对象的问题,有时会返回带有重复的“Content-Length”标头的HTTP响应. 发生这种情况时,如果内容长度值为’43215′,那么当我读取标题值时: print ($response->header('Content-length')); 结果是: 4321543215 如何检测标头是否重复并访问实际值? 从HTTP :: He 我有来自远程服务器的http :: Response Perl对象的问题,有时会返回带有重复的“Content-Length”标头的http响应.

发生这种情况时,如果内容长度值为’43215′,那么当我读取标题值时:

print ($response->header('Content-length'));

结果是:

4321543215

如何检测标头是否重复并访问实际值?

解决方法 从http :: headers的精细手册:

A multi-valued fIEld will be returned as separate values in List context and will be
concatenated with “,” as separator in scalar context.

这是列表上下文:

print ($response->header('Content-length'))

因此,$response-> header()将两个Content-length标头作为列表返回,结果基本上是:

print join('',43215,43215)

你可以使用kork的$response-> content_length()方法,也可以获取数组中的所有Content-length头文件,并使用第一个作为长度:

my @lengths = $response->header('Content-length');my $length  = $lengths[0];

如果你最终得到多个内容长度的标题并且它们不同,那么有人会非常困惑.

总结

以上是内存溢出为你收集整理的perl – 检测HTTP :: Response中的重复标头全部内容,希望文章能够帮你解决perl – 检测HTTP :: Response中的重复标头所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存