标签: chunked

如何在Android上用JSON发送文件?

我想使用http客户端以JSON方式发送文件我不知道如何启动任何人都可以建议我应该做什么?我将发送有关此JSON格式的数据:

 {
    "Filename": "282850ad-de5c-498f-8280-2d4b6d77b774.jpg",
    "ChunkId":1,
    "ChunkLength":11397,
    "FileLength":11397
 }
Run Code Online (Sandbox Code Playgroud)

如你所见,我将以块状发送文件.我不知道我是否要将文件转换为字节数组.如果我需要,任何人都可以给一些示例代码谢谢.

android json chunked

3
推荐指数
1
解决办法
2万
查看次数

允许逐跳标头Django

我正在用Django 1.6和Python 3.4编写一个演示代理服务器.当响应具有此标头时,我收到错误:

Transfer-Encoding=chunked
Run Code Online (Sandbox Code Playgroud)

错误是:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
    return self.application(environ, start_response)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/django/core/handlers/wsgi.py", line 214, in __call__
    start_response(force_str(status), response_headers)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/wsgiref/handlers.py", line 236, in start_response
    assert not is_hop_by_hop(name),"Hop-by-hop headers not allowed"
AssertionError: Hop-by-hop headers not allowed
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题:在Django代理中间件中允许逐跳头,但看起来像Django 1.6没有basehttp._hop_headers.

我运行服务器python3.4 manage.py runserver.

请帮忙

python django wsgi chunked

3
推荐指数
1
解决办法
2436
查看次数

为什么没有`Set-Cookie`标题作为回应?

我发现有时浏览器无法从我的网站上获取cookie,所以我curl用来检查标题,信息是:

C:\Documents and Settings\jack>curl http://localhost -I
HTTP/1.1 200 OK
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: SCALAEYE_SESSION="a57cf8ebdfc379da91ad17d1d1eac706c25ae4c3-%3Citems%3E%3C%2Fitems%3E";Path=/
Set-Cookie: SCALAEYE_FLASH="%3Citems%3E%3C%2Fitems%3E";Path=/
Content-Length: 121665
Server: Jetty(6.1.26)
Run Code Online (Sandbox Code Playgroud)

但是当我使用浏览器IE6Firefox访问时,标题是:

Response Headersview source
Date    Fri, 08 Apr 2011 08:48:09 GMT
Transfer-Encoding   chunked
Server  Jetty(6.1.26)
Run Code Online (Sandbox Code Playgroud)

你可以看到没有Set-Cookie标题,这会产生问题.我的服务器是Jetty 6.1.26.为什么他们的回答不同?哪里错了?以及如何解决它?

curl httpresponse chunked setcookie

2
推荐指数
1
解决办法
2万
查看次数

打印http块及其到达时间

有没有办法打印http块及其到达时间?使用curl 或任何其他可视化工具?有什么快速的方法可以用 javascript 编写这个吗?

我找到了一个名为 chunk scatter http://scatter.cowchimp.com/的工具,但它不适用于 https url。

curl google-chrome http chunked chunked-encoding

2
推荐指数
1
解决办法
1826
查看次数

Angular7:无法设置{responseType:'text'}

场景:从Angular7调用API时,我正在调用Node(通过express)并返回字符串类型的分块数据-我想捕获此字符串数据并将其显示为字符串

服务器端: 从Node后端发送的数据是“文本”而不​​是json ...数据是通过多个res.write('somestring')语句发送的

客户端在Angular中: 我想要一个可观察的对象来处理此数据...

  1. 当我不提及任何responseType [返回this.http.get(this.streamURL);] ...时,我得到了错误:

SyntaxError:意外令牌{在JSON.parse()位置12的JSON中

stackBlitz上的错误以及ng服务上编译时的类似错误

  1. 当我不提及responseType为'text [返回this.http.get(this.streamURL,{responseType:'text'});] ...编译时出现错误:

src / app / myS.service.ts(24,54)中的错误:错误TS2322:无法将类型“文本”分配给类型“ json”

我如何从Node JS后端捕获“文本”数据...我在Node中使用npm cors,所以那里没有CORS错误

此处提供演示代码https : //stackblitz.com/edit/angular-44sess

的后端在以下代码段中:

app.get('/obs/responseWrite', cors(), function(req, res){
  var j=0;
  
  const headers = { 
    'Content-Type': 'text',     
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Methods': 'OPTIONS, POST, GET',
    'Access-Control-Max-Age': 2592000, // 30 days
  };
  res.writeHead(200,headers);
  
  for(var i=0; i<50000; i++){
    /* setInterval(function() {    res.write("returning j:["+ j + "]. "); j=j+1; if(j>=100){res.end();} }, 1000); */
    var myObj =  { return …
Run Code Online (Sandbox Code Playgroud)

chunked node.js angular angular7

2
推荐指数
2
解决办法
3748
查看次数

如何在期望 json 的情况下使用curl处理分块响应

我正在发出 GET 请求并接收 json 或“二进制”数据。根据我的测试,json 响应的机会与抛硬币相差不远。当我收到二进制数据时,我还会收到“Content-Length: xxx”或“Transfer-Encoding: chunked”响应标头(这也或多或少有 50-50 的机会)。我没有注意到同时获取两个标头(如果我在下面的代码片段中为curl 添加 -i 选项)。但是我确实得到了 json 响应的“Content-Length”标头。通常 json 响应的大小为 280kB,而分块响应的大小约为 40kB。

curl -o output.json\
  -H "Content-Type: application/json;charset=UTF-8"\
  "www.example.com/data"\
  && ./process-output.sh
Run Code Online (Sandbox Code Playgroud)

我想找到一个解决方案,在执行下一个脚本之前,我可以确保整个响应都在“output.json”中。

- 编辑 -

我当前的解决方案是检查输出并重file output.json | grep -c "UTF-8 Unicode"试(最多 5 次)。大多数人会说这是一个丑陋的解决方法,有些人甚至可能不再和我说话。我希望我不需要使用这样的“解决方案”。

json curl chunked

2
推荐指数
1
解决办法
9865
查看次数

如何在Fiddler中生成分块请求?

我需要测试服务器并从Fiddler发送一个chunked请求.我需要发送一些非常简单的东西,例如'a'字符作为内容.

有一个Request Builder选项卡,我可以在其中设置Transfer-Encoding:chunked header,但是如何指定Request Body?

request fiddler chunked transfer-encoding

1
推荐指数
1
解决办法
1934
查看次数

使用分块传输编码处理请求

golang 的 net/http 包是否支持使用分块传输编码的请求?到目前为止,我已经能够使用 Hijacker 接口(https://golang.org/src/net/http/server.go?s=6173:6875#L156)至少不关闭连接并接收完整的分块请求,但尚未解析块,并怀疑我可能走错了路。

https://golang.org/src/net/http/httputil/httputil.go?s=688:732#L10,我看到有一个分块阅读器,但似乎供内部使用。

本质上,我试图接受带有“分块”传输编码的 HTTP PUT 并将其发送到后端服务器“即时”(即不缓冲 golang 中的完整请求)。我无法控制上游请求。有没有推荐的方法来处理这样的请求,或者劫机者是这样做的?

httprequest chunked go transfer-encoding chunked-encoding

1
推荐指数
1
解决办法
2791
查看次数

如何让 Python 龙卷风生成分块响应

我的python版本是3.4,我的tornado版本是4.3。我的代码是这样的:

import tornado.ioloop
import tornado.web
import tornado.httputil
import tornado.httpserver


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        body = 'foobar'*10
        self.set_header('Transfer-Encoding', 'chunked')
        self.write(body)
        self.flush()
        self.finish()


app = tornado.web.Application([
        (r'/chunked', MainHandler),
])

if __name__ == "__main__":
    app.listen(8080)
    tornado.ioloop.IOLoop.current().start()
Run Code Online (Sandbox Code Playgroud)

这根本行不通,客户端只是等待块结束。如何在使用 Tornado 服务器时正确生成分块响应?

python tornado httpresponse chunked

0
推荐指数
1
解决办法
1412
查看次数