php - cURL 根据请求挂起,等待超时继续

标签 php 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;

我试过用它发送一个“Connection: close” header ,以及使目标代码指定它已完成运行的几种方法(设置 Content-length、flushing、die() 等)。在这一点上我真的不知道发生了什么,最让我惊讶的是我找不到有类似问题的人。

谁能帮帮我?

最佳答案

如果服务器实际上没有完成请求,这是有意义的。这在页面流式传输或服务流式传输场景中是意料之中的。您确定服务器实际上对每个请求都返回了完整且完整的 HTTP 响应吗?

关于php - cURL 根据请求挂起,等待超时继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023513/

相关文章:

php - PayPal Plus - Webhook - 更改数据库中的付款状态

php - 从外部链接远程下载文件到我的服务器 - 下载过早停止

opencv - Kurento:OpenCV 模块中的链接库

php - 使用过滤器时出现分页问题

php - .htaccess 中的这两个重定向有什么区别以及如何为这两个编写单个重定向

php - 按方向排序无效

javascript - 单击表单中的提交按钮后如何打开特定网页?

php - 无法使用 cuRL 从 Google map 请求获取 JSON 数据

javascript - 将表单值转换为 JS

php - PhoneGap Build API : CURL Command Line to PHP