[英]Sending multiple CuRL requests
我正在用我的CurL代码寻求帮助。 我试图执行多个URL,但它只运行最后的结果。
这是我的代码:
function executeCurl($data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, trim($data['url']));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//execute post
$result = curl_exec($ch);
curl_close($ch);
unset($data,$url,$ch);
//close connection
}
我在循环中运行executeCurl,但它仅执行最后一个结果。
看来$result
是问题。 我假设$ result是全局定义的...也就是说,
每次运行executeCurl()
, $result
都会被覆盖。 因此,当您完成循环并查看$result
,您所拥有的只是LAST executeCurl()
。
您应该返回$ result,并对每个循环的结果做任何需要做的事情。
这是一个示例代码,可以帮助您:
// Add a return to your executeCurl function
function executeCurl($data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, trim($data['url']));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//execute post
$result = curl_exec($ch);
curl_close($ch);
unset($data,$url,$ch);
//return the result
return $result;
}
// Your loop
$results = array();
for ($i=0;$i<count($dataList), $i++) { // $dataList is whatever your list of datas are
$results[$i] = executeCurl($dataList[$i]);
}
// Check out your results
print_r($results);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.