php curl 关闭,php – 多个curl请求,何时关闭句柄?

我对curl的init()和close()函数感到困惑.我想知道在以下每种情况下我应该何时关闭卷曲手柄:

1.使用单个句柄获取具有不同选项的“单个”URL.例如:

$curl=curl_init('google.com');

curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);

curl_exec($curl);

现在我想将FOLLOWLOCATION设置为false.我应该做curl_close($curl),并从头开始做所有事情,或者只是设置选项并再次执行它,如下所示:

curl_setopt($curl,CURLOPT_FOLLOWLOCATION,false);

curl_exec($curl);

2.使用单个句柄获取“多个”URL.例如:

$curl = curl_init('google.com');

curl_exec($curl);

现在我想得到stackoverflow.com.我应该关闭句柄并从头开始,或者我可以设置另一个URL而不关闭句柄.像这样:

$curl = curl_init('stackoverflow.com');

curl_exec($curl);

3.使用多个句柄来获取多个URL.这是我的代码:

$CONNECTIONS=10;

$urls=fopen('urls.txt','r');

while(!feof($urls))

{

$curl_array=array();

$curl=curl_multi_init();

for($i=0;$i

//create 10 connections unless we have reached end of file

{

$url=fgets($urls); //get next url from file

$curl_array[$i]=curl_init($url);

curl_multi_add_handle($curl,$curl_array[$i]);

}

$running=NULL;

do

{

curl_multi_exec($curl,$running);

}while($running>0);

for($i=0;$i

{

$response=curl_multi_getcontent($curl_array[$i]);

curl_multi_remove_handle($curl,$curl_array[$i]);

curl_close(($curl_array[$i]));

}

curl_multi_close($curl);

}

正如您所看到的:在获取每个单个句柄的内容后,我将从多个句柄中移除句柄,关闭单个句柄,然后在for循环后关闭多个句柄.这种做法是正确的还是我覆盖了句柄?

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值