繁体   English   中英

发送多个CuRL请求

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM