我遇到了一个问题,我无法在任何地方找到解决方案。更糟的是,没有其他人似乎有这个问题,所以我可能做一些非常愚蠢的事情。cURL挂起请求,等待超时继续
一些背景信息:我试图做一个类似代理的页面,将AJAX请求转发到不同的服务器。这是为了规避相同的域名政策。我希望这段代码做的就是获取POST变量,将它们转发到不同的页面,然后返回结果。它一直在工作,但有一件事:每次它等待超时继续。我已经把它放到了1秒钟,所以现在情况确实很好,但我宁愿有一个快速的响应和适当的超时时间。
这里是我的代码:
// create a new cURL resource
$call = curl_init();
// set URL and other appropriate options
curl_setopt($call, CURLOPT_URL, $url);
curl_setopt($call, CURLOPT_POST, true);
curl_setopt($call, CURLOPT_POSTFIELDS, $params);
curl_setopt($call, CURLOPT_HEADER, false);
curl_setopt($call, CURLOPT_RETURNTRANSFER, true);
curl_setopt($call, CURLOPT_CONNECTTIMEOUT, 1);
// grab URL and pass it to the browser
$response = curl_exec($call);
// close cURL resource, and free up system resources
curl_close($call);
echo $response;
我试图发送一个“连接:关闭”头吧,和几个办法,使目标代码指定,它的工作运行(设置内容长度,冲洗,die()等)。在这一点上我真的不知道发生了什么,最令我惊讶的是我找不到有类似问题的人。
谁能帮帮我?
嗯,奇怪,你描述为等待超时,超时意味着一个最大值。如果没有指定超时值(或者如果指定0作为值),那么应用程序的行为是什么? –
我还没有用0作为超时值来尝试它,但没有指定的超时大约需要15秒,我猜测这是一种默认值。 –