关于Post时CURL奇怪的问题,无响应。

紫色田园 紫色田园 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题很奇怪,被请求端能收到请求过来的参数。也返回了一个Json数据。可是很奇怪,发送请求却收不到这个Json.
代码如下:


public function sendHttpData($url='',$params=[],$method = 'POST', $options = [])
{

$method = strtoupper($method);
$protocol = substr($url, 0, 5);
$query_string = is_array($params) ? http_build_query($params) : $params;

$ch = curl_init();
$defaults = [];
if ('GET' == $method)
{
$geturl = $query_string ? $url . (stripos($url, "?") !== FALSE ? "&" : "?") . $query_string : $url;
$defaults[CURLOPT_URL] = $geturl;
}
else
{
$defaults[CURLOPT_URL] = $url;
if ($method == 'POST')
{
$defaults[CURLOPT_POST] = 1;
}
else
{
$defaults[CURLOPT_CUSTOMREQUEST] = $method;
}
$defaults[CURLOPT_POSTFIELDS] = $query_string;
}

$defaults[CURLOPT_HEADER] = TRUE;
$defaults[CURLOPT_USERAGENT] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.98 Safari/537.36";
$defaults[CURLOPT_FOLLOWLOCATION] = TRUE;
$defaults[CURLOPT_RETURNTRANSFER] = TRUE;
$defaults[CURLOPT_CONNECTTIMEOUT] = 3;
$defaults[CURLOPT_TIMEOUT] = 3;

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));

if ('https' == $protocol)
{
$defaults[CURLOPT_SSL_VERIFYPEER] = FALSE;
$defaults[CURLOPT_SSL_VERIFYHOST] = FALSE;
$defaults[CURLOPT_SSLVERSION] = 3;
}

curl_setopt_array($ch, (array) $options + $defaults);

$ret = curl_exec($ch);
$err = curl_error($ch);

if (FALSE === $ret || !empty($err))
{
$errno = curl_errno($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return [
'ret' => FALSE,
'errno' => $errno,
'msg' => $err,
'info' => $info,
];

return ['status'=>FALSE,'message'=>$err,'errno'=>$errno,'info'=>$info];
}

list($header,$body) = explode("\r\n\r\n", $ret, 2);

curl_close($ch);

$data = json_decode($body,true);

return $data;
}

====================================
被请求端返回了一个Json,代码如下:


echo json_encode(array('code' => 1002, 'message' => 'Incorrect user name or password','data'=>[]));
die();


========================================

发送端一直得不到响应的Json数据,$ret =false,$err为非空。
按F12查看Response里面,
[errno] => 28
[msg] => Operation timed out after 3000 milliseconds with 0 bytes received
就是超时。查了好久都没查到原因,请各位高手指点一下。先谢过了!
对了,发送端和响应端都是用的Thinkphp5

哪怕
$defaults[CURLOPT_CONNECTTIMEOUT] = 30;
$defaults[CURLOPT_TIMEOUT] = 30;
我改成30秒,还是一样的超时,没数据返回。
...全文

相关推荐

SSRF漏洞利用:从file_get_contents到内网渗透的实战解析

服务端请求伪造(SSRF)是一种常见的安全漏洞,其核心原理在于攻击者能够操控服务器向任意地址发起网络请求。由于请求源自受信任的服务器内部,攻击者可以借此绕过客户端防火墙,访问或探测内部网络资源。这种漏洞的技术价值在于,它可以将一个看似功能单一的应用点,转变为对内网进行信息搜集和横向移动的跳板。在Web安全实践中,SSRF常出现在诸如URL预览、数据采集或内部服务调用等功能中。当开发者使用类似PHP的`file_get_contents`函数处理用户可控的URL输入,且未对协议、目标地址进行严格校验时,便可能

aoyunlian9546

WFuzz安装与实战指南:Web模糊测试工具从入门到精通

Web模糊测试是Web安全与渗透测试中的一项基础且关键的技术,其核心原理是通过自动化工具向Web应用发送大量精心构造或随机的输入数据,以探测潜在的漏洞和未授权访问点。这项技术的价值在于能够高效地发现隐藏目录、敏感文件、SQL注入、命令执行等安全风险,从而提升应用的安全性。在实际工程实践中,模糊测试工具常被用于API安全测试、目录枚举和参数爆破等场景。WFuzz作为一款经典的Python Web模糊测试工具,以其灵活的Payload定义和强大的结果过滤功能,成为渗透测试人员执行暴力破解和参数枚举任务时的得力助

daxi1047

B.AI聚合平台免费模型实战:DeepSeek-V4-Flash、混元Hy3、MiMo-V2.5接入指南

在大模型快速迭代的当下,开发者常常面临模型众多、试错成本高的困境。聚合API平台通过统一接口封装多个模型,让开发者只需一个账号、一个Key即可调用不同厂商的大模型,大幅降低接入摩擦。以B.AI平台限时免费开放的DeepSeek-V4-Flash、腾讯混元Hy3、小米MiMo-V2.5为例,本文从API接入的通用概念出发,讲解如何用Python和curl快速完成模型调用、Chat冒烟测试以及多模型对比,并深入分析DeepSeek思考模式回传reasoning_content、上下文超限、第三方工具模型名不识别

weixin_33851604

Codex框架实战:本地AI模型统一管理与多服务集成指南

AI模型服务框架是现代人工智能应用开发的核心基础设施,它通过标准化的接口协议实现不同模型服务的统一管理。其技术原理在于将复杂的模型部署、API对接和环境配置抽象为可配置的组件,提供统一的生命周期管理和请求路由机制。这种框架的技术价值在于显著降低了多模型环境下的运维复杂度,使开发者能够快速切换和测试不同AI服务。在实际应用场景中,这类框架特别适用于开发环境统一对接多个AI服务商、本地开源模型提供标准化API接口、以及团队内部建立统一测试流程等需求。本文以Codex框架为例,深入解析其安装配置、模型端点管理和生

weixin_33806300

2026安卓开发从零实战指南:环境搭建、核心基础与避坑干货(适配新版Android_Studio).pdf

2026安卓开发从零实战指南:环境搭建、核心基础与避坑干货(适配新版Android_Studio).pdf

彼岸交流群
评论 2
收藏 已收藏
分享
返回顶部
紫色田园
基础编程 21,889 成员 140,329 内容