问题标签 [chunked]
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.
python - 解析python中分块的内容类型的响应
我正在尝试读取和解析内容类型的请求:python 中的分块。这是我在浏览器中加载 url 并查看源代码时看到的内容:
我想检索和解析像这样的 json 条目:
我怎样才能做到这一点?
谢谢
ruby-on-rails-3 - Rails send_file 在通过 Web 服务调用时不发送数据
我处于一种奇怪的情况,即 send_file 无法正确发送文件。这是情况:
Rail 版本:3.0.10 和 3.1.0 [两个不同的测试分支] Ruby:1.9.2 on RVM Webserver:Apache with Passenger
我的客户有一个文件管理系统;我致力于将它从 Rails 2 升级到 Rails 3(现在是 Rails 3.1)。我们主要重新开发了这个系统,因为早期的系统已经很老了。除了一个之外,所有功能都可以正常工作。该应用程序允许用户下载分配给他们的文档。当用户登录时,他们可以看到分配给他们的文档并可以下载。它工作得很好。这是有效的代码:
有一个客户,他们(我的客户)已经为他们制定了早期的解决方案,以便在通过基于 .NET 的 Web 服务(或任何可能被调用的服务)请求时发送文档。Web 服务以用户身份进行身份验证,然后转发到文档下载路径。我能够使 Web 服务进行身份验证,然后重定向到下载文件的控制器操作,但它不起作用。服务器日志说一切正常:
我已经更改了特定的名称和 IP。请注意,IP (12.123.12.123) 用于托管 Web 服务的服务器。
我正在与开发 .NET Web 服务的开发人员通话,他说除了内容长度为 -1 并且他没有收到任何内容外,他得到了所有的标头正确。他说所有其他标题都是正确的。
解决问题;我通过尝试设置所有可能的选项(x_sendfile、流、处置等)尝试了 send_file 的多种变体。我还尝试设置标题:
但是当我使用 Web 服务下载文件时,没有任何效果。但是,相同的方法直接在浏览器中工作[我通过绕过代码中的身份验证进行测试]。
我尝试使用 send_date,但它不起作用:
作为一种解决方法,我尝试了 redirect_to 而不是发送文件,并在公用文件夹中使用了一个测试文件,它可以工作。虽然不安全,但这似乎工作正常。唯一的问题是浏览器现在正在打开文档而不是下载它。
请帮我。
更新:问题与 Rails 现在发送分块内容和 Web 服务期望内容长度有关。
java - Java REST 分块编码
我正在尝试使用使用块编码的 REST 服务读取一些信息。
响应包含状态、元数据和实体。元数据包含以下信息:
{Date=[Thu, 13 Oct 2011 13:27:02 GMT], Vary=[Accept-Encoding, User-Agent], Transfer-Encoding=[chunked], Keep-Alive=[timeout=15, max=100] , 内容类型=[文本/html; charset=charset=UTF-8], Connection=[Keep-Alive], X-Pad=[避免浏览器错误], Server=[Apache/2.2.3 (Linux/SUSE)]}
并且该实体包含 sun.net.www.protocol.http.HttpURLConnection$HttpInputStream 类型的实例。
我过去,我一直在使用以下代码行来获取整个结果字符串:
但不知何故,这一行抛出了一个异常:
.读取响应消息时出现问题,类:类 java.lang.String,ContentType:text/html;charset=charset=UTF-8。org.apache.cxf.jaxrs.client.ClientWebApplicationException:.读取响应消息时出现问题,类:类 java.lang.String,ContentType:text/html;charset=charset=UTF-8。
...由以下原因引起:
引起:java.io.UnsupportedEncodingException: charset=UTF-8 at sun.nio.cs.StreamDecoder.forInputStreamReader(Unknown Source) at java.io.InputStreamReader.(Unknown Source) at org.apache.cxf.helpers.IOUtils。 toString(IOUtils.java:180) at org.apache.cxf.helpers.IOUtils.toString(IOUtils.java:166) at org.apache.cxf.jaxrs.provider.PrimitiveTextProvider.readFrom(PrimitiveTextProvider.java:51) at org .apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:435) ... 49 更多
是否有直接的解决方案来获取响应的全部内容?
谢谢!
康
request - 如何在 Fiddler 中生成分块请求?
我需要测试服务器并从 Fiddler 发送分块请求。我需要发送一些非常简单的东西,例如“a”字符作为内容。
有一个 Request Builder 选项卡,我可以在其中设置 Transfer-Encoding: chunked header,但是如何指定请求正文?
php - 在服务器端处理 plupload 的分块上传
当我使用 plupload 来分块文件(设置选项chunk_size
)时,我会为每个块获得一个单独的 PHP 请求。查看$_FILES
变量,每个块都是 type "application/octet-stream"
。
是否有任何简单、标准和舒适的方法可以在服务器端将这些部分组合到 PHP 中?
保证理智(例如,当其中一件丢失时等)。
apache - 如何使 Apache mod_deflate 和 Transfer-encoding : Chunked 一起工作?
我正在尝试在我们的网站上使用 bigpipe 概念。这意味着尝试以块的形式发送响应,而不是将其作为一个整体发送,以便用户感觉该页面很快。我通过在java中的响应对象上使用flushBuffer方法成功地做到了这一点。但是现在当我尝试使用 apache mod_deflate 模块压缩内容时,分块丢失了。
这是来自 apache 的用于压缩内容的配置
**
开始 mod_deflate 配置
结束 mod_deflate 配置**
这是在 apache 中打开 deflate 时的响应标头
连接:保持活动
内容编码:gzip
内容长度:7916
内容类型:文本/html;charset=UTF-8
日期:2012 年 1 月 27 日星期五 20:11:11 GMT
Keep-Alive:timeout=300, max=3997
Server:Apache
Vary:Accept-Encoding
在apache中关闭放气时的响应标头
连接:保持活动
内容类型:文本/html;charset=UTF-8
日期:2012 年 1 月 27 日星期五 20:21:14 GMT
Keep-Alive:timeout=300, max=3997
Server:Apache/2.2.3 (CentOS)
Transfer-Encoding:chunked
正如您在上面的 2 个标头中看到的那样,只有在关闭压缩的情况下,分块才有效。我在网上搜索这方面的内容,人们建议减少DeflateBufferSize值。正如您在我的 apache 配置中看到的那样,我将值减小到 100 字节,但这仍然没有解决问题。DeflateBufferSize 设置为 100 字节意味着响应在 apache 中缓冲,直到接收到 100 字节,然后将其压缩。
我正在查看与旧 apache 1.3 捆绑在一起的 mod_gzip 模块,该模块有一个允许对分块内容进行 gzip 压缩的以下指令。
mod_gzip_dechunk 是
有谁知道与 apache 2.x 捆绑在一起的 mod_deflate 中的此类指令?
或者有谁知道如何压缩分块的内容?
mpmovieplayercontroller - 静态文件的 HTTP 实时流式传输到 iOS 设备
我试图了解HTTP Live Streaming将静态视频文件传输到 iOS 设备的“分块”方面。视频文件的分块发生在哪里?
编辑:从阅读HTTP Live Streaming和更多的https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-07听起来视频文件被分成了 .ts 段服务器。或者 m3u8 播放列表可以指定文件中的字节偏移量(显然使用EXT-X-BYTERANGE
)。
以下是我在阅读Apple 的 HLS 描述和https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-07后对这个过程的理解:
- 我的服务器上有一个静态文件。它具有正确的音频/视频编码(H.264 和 AAC)。
- 我会将
m3u8
播放列表传递给我的应用程序中的媒体播放器(MPMoviePlayer
或类似播放器)。 - 该应用程序将在媒体播放期间“重新加载索引”。换句话说,应用程序将请求额外的片段来播放。
- 每 10 秒的片段位于一个MPEG 传输流容器中。
我对这个过程的理解是不完整的(也许是不正确的)。非常感谢任何其他信息。
python - 如何强制 http.client 在 python 中发送分块编码的 HTTP 正文?
我想发送分块的 HTTP 正文来测试我自己的 HTTP 服务器。所以我写了这个python代码:
我希望 HTTP 请求的正文被传输分块,但是我用 Wireshark 捕获网络包,HTTP 请求的正文没有被分块传输。
如何在 python 中通过 http.client lib 传输块体?
java - 从 ServerResource 将响应流式传输回客户端
我正在将内容流式传输到我的休息端点,并且我已将其实现为 ServerResource。使用传入的流不是问题,但在处理输入时,我确实想开始将信息反馈给客户端。但是,我认为这不能从 ServerResource 完成,因为它需要我实际返回一个表示(随后我会中止从输入流中读取)。
在这种情况下推荐的方法是什么?使用原始 Restlet 并在处理方法中处理它?人们一般是如何解决这个问题的?
显然,它可以使用“原始”HttpServlet 轻松完成,但我希望能够全面使用 restlet。
java - 如何逐块读取 int[] 块
假设传入了一个 int[],并且我有函数 f(int[] array),如果我不知道数组的长度,如何逐块执行它?或者有什么更好的方法吗?谢谢