问题标签 [chunked-encoding]
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.
c# - C# 使用 WebClient 下载分块编码内容
我编写了一个客户端应用程序,它假设从 Web 服务器下载文件,非常简单:
该网站(音频文件所在的位置:http://localhost/audiotest/audio.wav)具有标头 Transfer-Encoding: chunked
当我运行程序时,我收到以下错误:
服务器违反了协议。Section=ResponseBody Detail=响应块格式无效
当服务器包含 Transfer-Encoding: chunked header 时,如何下载文件?
winapi - WinInet - 无法从标头中删除 Content-Length 以手动分块上传
MSDN声明WinInet 不支持分块上传(“客户端代码必须执行分块。”)。对我来说,这意味着我可以手动分块传输。我的意图是通过 HttpAddRequestHeaders 添加“Transfer-Encoding: chunked” ,通过HttpAddRequestHeaders HTTP_ADDREQ_FLAG_REPLACE 删除 Content-Length,然后在我的 InternetWriteFile 循环中,将数据写入分块编码块中。问题是,我似乎无法说服 WinInet 不发送 Content-Length。即使在删除之后,它最终也会向服务器发送“Content-Length: 0”(除了“Transfer-Encoding: chunked”),这会使服务器感到困惑。
我还尝试在HttpSendRequestEx中设置 HSR_CHUNKED 标志。
有没有人有让 WinInet 跳过发送 Content-Length 的示例?
我知道 WinHTTP 声称支持分块上传,但我们对 WinInet 有其他依赖项,这就是为什么我希望尽可能在那里解决问题。
这是我尝试过的代码示例:
chunked-encoding - 在 .Net 中读取分块的 HTTP
我正在尝试编写一个读取 HTTP 分块数据的 VB.net 客户端。这些块包含我需要使用的附加信息。我已经发现我不能使用 HTTPWebResponse,因为它隐藏了可选标签。所以,按照我的理解,我需要使用 TCPClient,通过它发送 HTTP 请求,然后解析响应。此时我的问题是如何创建和发送 HTTP 请求,尤其是在 HTTPWebRequest 不可序列化的情况下。
任何帮助,包括指示更好的方法来做到这一点,将不胜感激。
java - HTTP 多部分和分块可以共存吗?
我正在使用 apacheHttpClient
将几个文件发布到服务器。这是代码:
问题是,MultipartEntity
类只有isChunked()
方法(总是返回 false),如果我希望为我的多部分实体启用卡盘编码,则没有“setChunked(boolean)”选项。
我的问题是:
HTTP 多部分和分块可以根据协议规范共存吗?
InputStreamEntity
如果没有,为什么像class这样的其他实体有setChunked(boolean)
whereMultipartEntity
没有?有没有办法在启用分块的情况下“一次”发布多个文件,最好是使用 apache 库?
networking - 如何使用 Wireshark 查看源页面?
是否有可能使用 Wireshark 捕获和查看网站的源页面?我不需要标头数据包,我正在寻找的是我在运行 Wireshark 时打开的任何站点的完整源页面。
c# - HttpWebRequest、重定向、实时站点上的分块编码错误,但在本地 IIS Express 上工作
我有一些代码可以使用 C# 创建 HTTP POST WebRequest 并将一些数据发布到 https 站点。然后该站点重定向到一个新的 URL 并返回一些数据。
这在我运行 IIS Express 的本地机器上工作得很好,但在我的生产服务器上抛出一个异常,说Content-Length or Chunked Encoding cannot be set for an operation that does not write data.
.
这是代码的样子:
有什么想法有什么问题,什么是好的解决方案?
//约翰
http - 如果 HTTP/1.0 客户端请求 Connection: keep-alive,它会理解分块编码吗?
如果我的 HTTP 服务器收到带有“Connection: keep-alive”标头的 HTTP/1.0 请求,那么客户端会理解“Transfer-Encoding: chunked”是否公平?
本质上,我正在尝试决定是否尊重来自 HTTP/1.0 客户端的“Connection: keep-alive”标头。如果我确实尊重它,那么我必须对回复使用分块编码,因为我无法缓冲整个回复以计算 Content-Length 标头。
如果期望请求“连接:保持活动”的 HTTP/1.0 客户端也能理解分块编码是不安全的,那么我将不得不在每次回复后关闭连接。(或者我错过了什么?)
perl - Perl 使用 Unpack 将二进制数据拆分成块
我Transfer-Encoding: chunked
用来编写 HTTP 响应。
响应通过以下方式分成几部分:
当内容类型为 时,这可以正常工作text/html
,但它会破坏二进制数据,例如application/pdf
.
可unpack
用于将二进制数据分成相等的长度?
iphone - ASIHttprequest 获得分块传输编码的进展?
ASIProgressDelegate
setProgress
下载分块编码时,该方法总是得到 1?如何获得下载分块编码的进度?谢谢!
asp.net - IIS 7.5 压缩和分块传输问题
我不得不渲染一个 json 提要。由于提要的大小约为 10 MB,因此我决定在 ASPNET 中启用压缩。我为 json mime 类型启用了动态压缩。压缩效果很好,并将大小减小到 1 MB(对使用的服务器 CPU 有显着的压缩优势)。
但奇怪的是,浏览器每次花费 2.6 分钟并失败,尽管我看到 JSON 在几秒钟内收到。
我尝试使用提琴手和检查工具进行调试。我看到分块传输编码作为响应。所以浏览器等待大约 150 秒来接收 0 大小的块来完成。
我不会在任何 json 服务中刷新响应。因此 IIS 在这种情况下启用了分块传输。关闭 enableChunkedEncoding 也无济于事。
如何使这种压缩工作或压缩+分块传输一起工作?
这是请求和响应标头。
请求标头
请求网址:http://localhost:8080/Default2.aspx
请求方法:GET
状态码:200 OK
接受编码:gzip、deflate、sdch
响应标头
内容编码:gzip
内容类型:应用程序/json;字符集=utf-8
传输编码:分块
编辑:有趣的是,当压缩响应 < 1 MB 时一切正常。当响应大于 1 MB 时,问题就会蔓延。我在这里创建了测试项目
提前致谢