You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

curl报(26) read function returned funny value及premature EOF如何解决

故障现象

执行iTop接口调用命令时,依次出现文件设置警告、curl错误、JSON解析错误,完整执行过程与报错如下:

[user@vm itop_api]$ curl -k -K curlopt.txt -X POST -F 'version=1.3' https://vma04.domain/webservices/rest.php -F 'json_data=@./get_server2a.json' |json_reformat

Warning: setting file ./get_server2a.json  failed!
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   272    0     0    0   272      0   9714 --:--:-- --:--:-- --:--:--  9379

curl: (26) read function returned funny value
parse error: premature EOF
    
                         (right here) ------^

报错链路顺序:

  • 首先弹出警告:设置./get_server2a.json文件失败
  • 随后curl返回错误码26,提示read function returned funny value
  • 最后管道后的json_reformat工具抛出解析错误:过早到达文件末尾(premature EOF)
根因说明

curl错误码26对应本地文件读取异常,核心触发点就是第一条文件设置失败的警告,后面的读函数报错、JSON解析错误都是连锁反应,不需要单独排查。常见诱因按出现概率排序:

  • 执行curl的用户对./get_server2a.json没有读权限,或文件不存在、相对路径书写错误(执行命令时的工作目录和文件所在目录不匹配),也可能是文件为空、被其他进程加锁独占,导致curl无法正常读取内容
  • 命令参数顺序不规范:curl语法要求所有请求选项(含-F表单参数)必须放在请求URL之前,当前命令中传JSON文件的-F参数写在了URL后面,部分版本curl会出现参数解析异常,无法正确识别文件上传配置
  • 加载的curlopt.txt配置文件存在冲突项:比如提前定义了读取回调函数、配置了其他POST传参规则覆盖了-F的逻辑、修改了上传相关默认配置,干扰了正常的文件读取流程
修复步骤

按以下顺序逐次排查,定位问题后即可修复:

  1. 先验证文件可用性:执行ls -l ./get_server2a.json确认文件存在、当前用户拥有读权限,再执行cat ./get_server2a.json确认文件内容非空、本身JSON格式合法
  2. 调整命令参数顺序,将所有选项移到URL之前,修正后命令如下:
curl -k -K curlopt.txt -X POST -F 'version=1.3' -F 'json_data=@./get_server2a.json' https://vma04.domain/webservices/rest.php | json_reformat
  1. 如果调整顺序后仍报错,临时去掉-K curlopt.txt参数,使用curl默认配置执行测试,排查配置文件冲突:
curl -k -X POST -F 'version=1.3' -F 'json_data=@./get_server2a.json' https://vma04.domain/webservices/rest.php

如果去掉自定义配置后请求正常,逐行检查curlopt.txt内容,删除和POST表单上传冲突的配置项即可。

注:最后的json_reformat解析错误无需单独处理,curl未正常发送请求、未拿到完整合法的响应内容时,管道传输的数据是残缺的,自然会触发EOF错误,curl上传问题修复后该错误会自动消失。

内容的提问来源于stack exchange,提问作者dfs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 00:31:04