常用自定义函数之curl

网站技术 ayflying 774℃ 评论

首先来说以下curl

CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。

但是有时候只用一些简单的操作需要进行复杂的配置,这里只用封装成一个函数就可以解决配置的麻烦了。

/**
 * curl函数
 * @param $url      访问地址
 * @param null $post    post参数
 * @param int $time     超时时间
 * @param null $type    post类型
 * @return bool|string  返回收到的结果
 */  
function curl($url,$post=NULL,$time=30,$type=null){    
	$ch = curl_init();    
	curl_setopt($ch, CURLOPT_URL, $url);    
    curl_setopt($ch, CURLOPT_TIMEOUT,$time);    
	if(stripos($url,"https://")!==FALSE){    
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);    
		curl_setopt($ch, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1    
	}    
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
	curl_setopt($ch, CURLOPT_HEADER, 0);    
	if(isset($post)){	// post数据    
		curl_setopt($ch, CURLOPT_POST, 1);    
		curl_setopt($ch, CURLOPT_POSTFIELDS, $post);    
        if(isset($type)){    
            curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/*'] );    
        }    
	}    
	$output = curl_exec($ch);    
	curl_close($ch);    
	return $output;    
}

第一个参数为网址,第二个参数为需要post的数组,可以为空。

使用例子

如果不使用post,直接用get就可以不用第二个参数

echo curl("http://blog.7cuu.com");

如果需要post,那第二个参数就需要带上post的数组了

$post = array(
    'username' => 'admin',
    'password' => 'admin'
);
echo curl("http://blog.7cuu.com",$post);

这样就可以了。

转载请注明:七彩悠悠博客 | 心悠悠 情悠悠 » 常用自定义函数之curl

高效,专业,悠悠博客

联系我们