当前位置:   article > 正文

关于 curl: (52) Empty reply from server 问题的一种解决方案

empty reply from server

一、问题描述

  最近在 K8s 上面部署了一个应用,应用 Container 的 Command 中包含需要使用 curl -F file=@“filename” 来上传文件的命令,这条命令在本地环境中测试时没有出现问题,但是一到容器中就会报 curl: (52) Empty reply from server 的错误,并且此时服务器端其实已经接收到了数据。

二、问题分析

  因为该问题当 curl 运行在本地时并未出现,因此推断该错误是由 curl 所引发的,且通过添加 -v 参数来获取 curl 在 Container 中的执行日志如下。

在这里插入图片描述
  通过执行日志可以看到,curl 命令在使用 -F 参数提交文件时,会先向服务器发送一个 Expect: 100-continue(此时的报文已经包含了上传的文件数据),然后等待服务器响应 HTTP/1.1 100 Continue ,但其实我的服务器并没有响应 HTTP/1.1 100 Continue 的逻辑,因此 curl 最终会收到一个空的响应(或者可能是等待超时),导致了最终报 curl: (52) Empty reply from server 错误。


三、解决方案

  给 curl 添加 -H “Expect:” 参数即可(即设置 Header 中的 Expect 属性值为空即可)。

四、引用资料

  https://blog.csdn.net/caojianwei1992/article/details/107848536

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/888360
推荐阅读
相关标签
  

闽ICP备14008679号