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

cURL脚本手动运行正常,PHP/Cron执行报错的解决

问题:Cron或PHP调用Shell脚本执行cURL返回JSON格式错误

我编写了nn.sh脚本,内容如下:

#/bin/sh
cd /var/www/html
/usr/bin/curl 'https://web-api.wtnnip.com/app' \
  -H 'authority: web-api.wtnnip.com' \
  -H 'accept: */*' \
  -H 'accept-language: ro-RO,ro;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'content-type: application/json' \
  -H 'origin: https://www.wtnnip.com' \
  -H 'referer: https://www.wtnnip.com/ro-RO/non-professional' \
  -H 'sec-ch-ua: "Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Linux"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-site' \
  -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36' \
  --compressed

手动执行脚本或在终端直接运行cURL命令均正常,能获取JSON集合。但通过Cron执行该脚本,或PHP用exec/passthru调用时,返回如下错误:

{"errors" : [ {
    "message" : "Invalid JSON payload in GraphQLAuth POST request.",
    "errorType" : "MalformedHttpRequestException"
  } ]
}

PHP直接调用cURL也出现相同错误。

补充环境信息:

  • Debian 11、PHP 7.4、cURL 7.74
  • 默认Shell为bash,曾尝试将脚本首行改为#/bin/bash

解决方法

将脚本首行改为#!/bin/bash,此前遗漏了开头的感叹号。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:31:02