php模拟http请求的两种姿势

php模拟http请求的两种姿势

CURL


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, self::$connectTimeout);
curl_setopt($ch, CURLOPT_TIMEOUT, self::$socketTimeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$curl_errno = curl_errno($ch);
$data = curl_exec($ch);
curl_close($ch);
if ($curl_errno >0) {
    return 0;
}else{
    return $data;
}



$opts    = array(
'http' => array(
    'method'  => "GET",
    'timeout' => self::$connectTimeout + self::$socketTimeout,
    )
);

$context = stream_context_create($opts);
$data    = @file_get_contents($url, false, $context);
if($data){ 
    return $data;
}else{ 
    return 0;
}