问题标签 [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.

0 投票
3 回答
4409 浏览

java - 如何通过 URL 以字节或 MB 为单位获取文件大小

我是 Java 新手。我试图从 URL 获取文件大小,但我失败了,任何人都可以帮助我如何获取以字节为单位的 URL 大小吗?

0 投票
0 回答
259 浏览

vb6 - 来自 Web 服务器的文件返回不同的 Content-Encoding 和 Content-Length 值

在我们的 VB6 应用程序中,我们使用 vbmhwb.dll 并通过网络下载文件。文件被正确下载,但它返回不同的 Content-Length 值。我发现 HTTP 标头具有不同的 Content-Encoding。以下是同一文件在不同 PC 上的 HTTP 标头。下载后文件是二进制相同的。那么什么时候设置 Content-Encoding 呢?另外,如何从标题中获取文件的实际大小?

文件 1:

文件 2:

0 投票
0 回答
844 浏览

http - HTTP Head 方法 Content-Length 与“查看页面信息”上的大小不匹配

请原谅我对这个问题缺乏了解。我有一堆网址,我很想知道它的网页大小。因此,我使用 HTTP Head req 方法来获取 Content-Length。我验证了从 Head 方法生成的 Content-Length 值,方法是在浏览器中打开其中一些 url(我使用的是 Firefox)并检查给出“大小: ”。

对于大多数 url,这两个值都匹配,但对于某些不匹配。我想知道这是为什么?

0 投票
3 回答
14910 浏览

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

清漆跟踪:https ://www.varnish-cache.org/trac/ticket/1506

0 投票
0 回答
270 浏览

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.

0 投票
1 回答
671 浏览

http - 在 HTTP/1.0 响应中指定 Content-Length 标头有什么好处?

HTTP/1.0规范声明服务器可以通过以下方式指示包含实体主体的响应的长度

  • 发送Content-Length标头,或
  • 发送整个响应后关闭连接。

因此Content-Length,对于图像、Html 页面或 Ajax 数据等正常响应,标题是可选的。

由于已提供该标头,因此在某些情况下使用它会带来一些好处。

所以问题是:这些情况是什么,有什么好处?

(例如:如果响应是正在下载的文件,则浏览器会显示一个进度条(如果Content-Length指定)。)

0 投票
1 回答
904 浏览

java - 是否可以忽略 Http Content-Length?

我正在使用Crawler4J收集有关网站的信息。但有时我会收到以下错误:

信息:获取以下内容时出现异常:{someurl} [内容长度分隔的消息正文过早结束(预期:X;收到:Y]

(对我来说)目前还不清楚 X < Y 是否会发生这种情况,反之亦然。

在 fetchContent 的“fetcher.PageFetchResult.java”中抛出异常(我猜是在获取响应标头时)。

所以我的问题是:是否有可能(通常)忽略http内容长度并获取信息?

我已经查找了 crawler4j 问题,但没有类似的问题。

也许 stackoverflow 社区的某个人知道如何解决这个问题。

非常感谢,

久志

编辑

引发此异常的代码(片段):

responseHeaders 和实体为空(默认情况下):

0 投票
2 回答
660 浏览

c# - 网页文件图片/视频头

在 C# 中,是否可以检测文件的网址是图像还是视频?是否有这样的标题值?

我有以下代码可以获取 Web 文件的文件大小:

可以修改此代码以查看文件是图像还是视频?

提前致谢

0 投票
1 回答
2127 浏览

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 时应实例化它

0 投票
3 回答
5044 浏览

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 行引发异常。