1

我在我的 php 应用程序中使用 curl。它看起来像这样(简化):

$handle = curl_init();
curl_exec($handle);
curl_close($handle);

正如在坚持是通往幸福的道路一章中所写的那样,

对同一主机使用相同的简单句柄的后续请求可能只能使用已经打开的连接!这大大减少了网络影响。

那么,它是否适用于这段代码?是否会保存连接并curl_init()使用现有连接?如果是 - 它们存储了多长时间?

4

1 回答 1

2

我自己没有对此进行测试,但我认为它应该是这样工作的:

您创建一个 curl 实例:

$handle = curl_init();

然后设置您的选项,例如 URL、方法(post 或 get)和查询字符串:

curl_setopt($handle, CURLOPT_URL, "http://stackoverflow.com");

执行请求:

curl_exec($handle); // execute the request

更改您的选项,例如更改 URL:

curl_setopt($handle, CURLOPT_URL, "http://stackoverflow.com/test/");

再次执行请求,应该可以重用已经打开的连接:

curl_exec($handle);

您可以使用同一个 curl 实例多次执行此操作,并且如果可能,它将重用连接。

最后关闭连接并在完成后删除 curl 实例:

curl_close($handle);
于 2013-11-15T11:03:12.060 回答