问题标签 [http-content-length]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何通过 URL 以字节或 MB 为单位获取文件大小
我是 Java 新手。我试图从 URL 获取文件大小,但我失败了,任何人都可以帮助我如何获取以字节为单位的 URL 大小吗?
vb6 - 来自 Web 服务器的文件返回不同的 Content-Encoding 和 Content-Length 值
在我们的 VB6 应用程序中,我们使用 vbmhwb.dll 并通过网络下载文件。文件被正确下载,但它返回不同的 Content-Length 值。我发现 HTTP 标头具有不同的 Content-Encoding。以下是同一文件在不同 PC 上的 HTTP 标头。下载后文件是二进制相同的。那么什么时候设置 Content-Encoding 呢?另外,如何从标题中获取文件的实际大小?
文件 1:
文件 2:
http - HTTP Head 方法 Content-Length 与“查看页面信息”上的大小不匹配
请原谅我对这个问题缺乏了解。我有一堆网址,我很想知道它的网页大小。因此,我使用 HTTP Head req 方法来获取 Content-Length。我验证了从 Head 方法生成的 Content-Length 值,方法是在浏览器中打开其中一些 url(我使用的是 Firefox)并检查给出“大小: ”。
对于大多数 url,这两个值都匹配,但对于某些不匹配。我想知道这是为什么?
http - 如何在 Varnish 中禁用“传输编码:分块”编码?
使用Varnish 4,我有一组后端响应有效的Content-Length
标头而没有Transfer-Encoding
标头。
在客户端第一次点击时,Varnish 不会使用这些标头响应客户端,而是删除Content-Length
标头并添加Transfer-Encoding: chunked
到响应中。(有趣的是,有效载荷中似乎没有任何块 - 它是一个连续的有效载荷)。
这会给尝试基于标头进行分段大小、带宽等分析的 Flash 视频播放器等客户端带来严重问题Content-Length
。他们的分析失败了,他们不能做多比特率流媒体等事情。
我尝试了一些半显而易见的事情,例如:
beresp.do_stream = true
beresp.do_gzip = false
unset req.http.Accept-Encoding
示例后端响应:
样品清漆响应:
对象的后续加载确实包括Content-Length
标头,而不是第一次加载到缓存中。
VCL:https ://gist.github.com/onethumb/e64a405cc579909cace1
清漆日志输出:https ://gist.github.com/onethumb/e66a2bc4727a3a5340b6
r - R: RCurl postForm() with Content-Length > 1024
I'm having trouble POSTing data with Content-Length > 1024 using RCurl and postForm(). How can I increase the size limit of my HTTP request?
Whenever Content-Length is < 1024 the server responds as it should, while > 1024 results in an error. Using "curl" from the command line on the other hand works fine also for long content.
http - 在 HTTP/1.0 响应中指定 Content-Length 标头有什么好处?
HTTP/1.0规范声明服务器可以通过以下方式指示包含实体主体的响应的长度
- 发送
Content-Length
标头,或 - 发送整个响应后关闭连接。
因此Content-Length
,对于图像、Html 页面或 Ajax 数据等正常响应,标题是可选的。
由于已提供该标头,因此在某些情况下使用它会带来一些好处。
所以问题是:这些情况是什么,有什么好处?
(例如:如果响应是正在下载的文件,则浏览器会显示一个进度条(如果Content-Length
指定)。)
java - 是否可以忽略 Http Content-Length?
我正在使用Crawler4J收集有关网站的信息。但有时我会收到以下错误:
信息:获取以下内容时出现异常:{someurl} [内容长度分隔的消息正文过早结束(预期:X;收到:Y]
(对我来说)目前还不清楚 X < Y 是否会发生这种情况,反之亦然。
在 fetchContent 的“fetcher.PageFetchResult.java”中抛出异常(我猜是在获取响应标头时)。
所以我的问题是:是否有可能(通常)忽略http内容长度并获取信息?
我已经查找了 crawler4j 问题,但没有类似的问题。
也许 stackoverflow 社区的某个人知道如何解决这个问题。
非常感谢,
久志
编辑
引发此异常的代码(片段):
responseHeaders 和实体为空(默认情况下):
c# - 网页文件图片/视频头
在 C# 中,是否可以检测文件的网址是图像还是视频?是否有这样的标题值?
我有以下代码可以获取 Web 文件的文件大小:
可以修改此代码以查看文件是图像还是视频?
提前致谢
c# - ASP.NET Web Api - 使用分块传输编码时,框架未将 JSON 转换为对象
我在 Android 中有一个 http 客户端,将 HTTP PUT 请求发送到使用 C# 和 ASP.NET WebApi 框架实现的 REST api。
只要 JSON 字段与 C# 类中的属性匹配,框架就应该能够神奇地将 JSON 转换(反序列化)为模型类(普通对象)。
当 http 请求带有分块传输编码时,问题就出现了,这使得 Content-Length = 0(根据http://en.wikipedia.org/wiki/Chunked_transfer_encoding)并且框架无法映射 JSON 中的Http请求消息所以参数为空。
看这个简单的例子:
问题是当客户端发送分块的http请求时记录为空。
据我了解,分块传输编码只是http客户端或服务器在应用程序层(传输层的业务)不必担心的传输属性。但似乎框架并没有像我想要的那样管理它。
我可以从 HttpRequestMessage 手动检索 JSON 并将其反序列化为 MyData 对象,但我无法利用 ASP.NET 框架的魔力。而且您知道规则:您添加的代码越多,您可能引入的错误就越多。
有什么方法可以处理带有 JSON 的 Http Put 请求,这些请求是在 ASP.NET Web Api 2 中编码的分块传输?
编辑:这是此示例的模型类,框架在反序列化 JSON 时应实例化它
c# - WebResponse contentLength 属性是-1?
我有一个获取 URL 和下载.jpeg
文件的 Windows 应用程序。对于某些 url,该ContentLength
属性为 -1,因此会引发异常。
这是我的代码:
这是网址: http: //photos.autonexus.com/imager/115-005-CA/P2GTPI4AB9/640/10132013133959/1FAHP0HA3AR373228_1.jpg以下是 有关我的 http 请求的一些信息:
我认为分块标题会导致问题,但我已经用谷歌搜索了 2 天,没有好的解决方案,或者我找不到好的解决方案。
这是错误的屏幕截图:
正如您在第 130 行看到的那样,因为 _response.ContentLength 已经为 -1,因此 iSize 将为 -1,它在第 149 行引发异常。