Вот задумался что из этих двух инструментов лучше использовать.Google дал ответ что curl, но оно и понятно он проще в использовании, а fsockopen более функциональный сетевой инструмент но большую часть кода приходится писать самому.Провёл небольшой тест.
<?
$gtime = array();
#Fsockopen
$gtime['sock'] = microtime(1);
for ($i=0; $i<20; $i++){
$fp = fsockopen('war/', 80);
if ($fp){
fputs($fp, 'GET / HTTP/1.0'. PHP_EOL .'User-Agent: Nokia N82'. PHP_EOL . PHP_EOL);
while(!feof($fp)){
echo fgets($fp);
}
}
fclose($fp);
}
$gtime['sock'] = round(microtime(1) - $gtime['sock'], 4);
# CURL
$gtime['curl'] = microtime(1);
for ($i=0; $i<20; $i++){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://war/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Nokia N82');
$result = curl_exec($ch);
curl_close($ch);
}
$gtime['curl'] = round(microtime(1) - $gtime['curl'], 4);
echo 'CURL: '. $gtime['curl'] .' | Sock '. $gtime['sock'];
?>
Провёл 20 соединений с curl и fsockopen
Результат
CURL: 2.5768 | Sock 0.2176
Получается что fsockopen быстрее, кто считает иначе?
Изменил: orel (03.12.2011 / 15:18)