ruby – 如何使用Net :: HTTP只读取身体的x个字节数?

看起来像 Ruby的Net :: HTTP的方法是全部的或没有什么,当谈到阅读网页的正文.如何读,说,只是身体的前100个字节?

如果请求的文件不可用,我正在尝试从内容服务器读取返回响应正文中的短错误消息.我需要读取足够的身体来确定文件是否存在.文件是巨大的,所以我不想让整个身体只是为了检查文件是否可用.

解决方法

您不应该使用HTTP HEAD请求(Ruby Net :: HTTP :: Head方法)来查看资源是否存在,只有在获得2xx或3xx响应时才会继续进行这假设您的服务器配置为返回4xx错误代码(如果文档不可用).我会认为这是正确的解决方案.

另一种方法是请求HTTP头并查看结果中的内容长度头值:如果您的服务器配置正确,您应该能够轻松地了解短消息和长文档之间的长度差异.另一个选择:在请求中设置content-range头域(再次假定服务器的行为正确WRT的HTTP规范).

发送GET请求后,我不认为在客户端解决问题是这样的:那时候,网络已经做了很大的努力,你不会真的保存浪费的资源.

参考:http header definitions

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...