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

端口88的IPTV API获取JSON数据失败问题求助

解决PHP cURL无法连接IPTV API的问题

先修复代码中的明显错误

你的代码存在几个直接导致连接失败的问题:

  • 变量声明缺失$:ch = curl_init();需改为$ch = curl_init();
  • URL包含无效空格:& action中的空格会破坏URL结构,浏览器会自动转义,但cURL会原样发送,请删除空格改为&action
  • 错误发送响应头:Access-Control-Allow-Credentials是服务器返回的响应头,不需要作为请求头发送,应移除

修改后的完整代码

<?php
$url = "http://mytv-extra.com:88/player_api.php?username=4240670294&password=0301902562&action=get_live_streams&category_id=3045";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 添加超时设置,避免短时间内判定连接失败
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);

// 仅保留必要的请求头
$headers = [
    'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
$info = curl_getinfo($ch);
print_r($info);

if ($response === false) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);
?>

进一步排查网络层面问题

若修改代码后仍失败,按以下步骤定位问题:

  • 服务器命令行测试:在运行PHP的服务器上执行命令行curl,查看详细连接过程:
    curl -v "http://mytv-extra.com:88/player_api.php?username=4240670294&password=0301902562&action=get_live_streams&category_id=3045"
    
    若命令行也失败,说明是服务器网络问题,而非PHP代码问题。
  • 端口连通性测试:用telnet或nc测试目标端口是否可达:
    telnet mytv-extra.com 88
    # 或
    nc -zv mytv-extra.com 88
    
    若连接被拒绝,可能是服务器防火墙禁止出站访问88端口,或目标服务器的防火墙拦截了你的服务器IP。
  • 确认IP白名单:再次联系服务商,确认运行PHP的服务器公网IP是否在API的允许访问列表中(本地浏览器IP和服务器IP不同,可能存在IP限制)。
  • 检查PHP cURL配置:查看php.ini中是否配置了正确的curl.cainfo(虽HTTP请求不需要CA证书,但存在HTTPS跳转时可能影响),同时确认服务器未禁用cURL扩展。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 20:53:22