首页 > 代码库 > Stream ended unexpectedly
Stream ended unexpectedly
由于有个微信平台的项目需求,就去看了一下微信公众平台的接口,发现微信平台上传下载附件需要使用ucrl命令,所以在LINUX上试了一下该命令:
curl -F @123.image http://.......
服务端接受附件代码是自己写的,反正都是form表单提交
后来查了一下资料,发现,用Java调用curl命令,还是挺麻烦的,不就上传个附件吗,还不如自己模拟客户端上传。接下来就写了一天模拟客户端上传的代码。
测试后发现,上传不 了,服务端报了:Processing of multipart/form-data request failed. Stream ended unexpectedly.
F,继续调试,改了几遍还是这样,google了一下,发现很多人是因为页面突然关闭,导致文件没有上传完,或文件太大,所以服务端就报了流意外的结束。我心想,我用的是代码,都是传输完才close的,不可能啊,而且文件才几K,我索性把close都注释掉测试,还是老样子。我怀疑是不是服务端代码问题,再写了个简单的上传页试了一下,可以啊,页面跟curl都没有问题,那服务端代码应该没问题了,继续关注模拟代码。我觉得应该是我们的报文哪里不对,所以读取的时候就报错了,看了下apach包的源码,有可能是由于流转换成报文的时候监测到报文不全所导致的,然后我用火狐调试查看了一下http请求信息和我们模拟的有什么不同,开始还真没看出什么问题,后台打印一下,才知道,原来少了两个换行符号。妈呀,真TM郁闷。
就是这里的结束边界前后少了\r\n.
Stream ended unexpectedly
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。