PHP CURL封装类代码一例
本节内容:
PHP CURL封装类
例子:
/**
* CURL封装类
* by www.jbxue.com
*/
class Curl_Class
{
function Curl_Class()
{
return true;
}
function execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '')
{
$ch = Curl_Class::create();
if (false === $ch)
{
return false;
}
if (is_string($url) && strlen($url))
{
$ret = curl_setopt($ch, CURLOPT_URL, $url);
}
else
{
return false;
}
//是否显示头部信息
curl_setopt($ch, CURLOPT_HEADER, false);
//
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($username != '')
{
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
}
$method = strtolower($method);
if ('post' == $method)
{
curl_setopt($ch, CURLOPT_POST, true);
if (is_array($fields))
{
$sets = array();
foreach ($fields AS $key => $val)
{
$sets[] = $key . '=' . urlencode($val);
}
$fields = implode('&',$sets);
}
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
}
else if ('put' == $method)
{
curl_setopt($ch, CURLOPT_PUT, true);
}
//curl_setopt($ch, CURLOPT_PROGRESS, true);
//curl_setopt($ch, CURLOPT_VERBOSE, true);
//curl_setopt($ch, CURLOPT_MUTE, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);//设置curl超时秒数,例如将信息POST出去3秒钟后自动结束运行。
if (strlen($userAgent))
{
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
}
if (is_array($httpHeaders))
{ // www.jbxue.com
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);
}
$ret = curl_exec($ch);
if (curl_errno($ch))
{
curl_close($ch);
return array(curl_error($ch), curl_errno($ch));
}
else
{
curl_close($ch);
if (!is_string($ret) || !strlen($ret))
{
return false;
}
return $ret;
}
}
function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
{
$ret = Curl_Class::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password);
if (false === $ret)
{
return false;
}
if (is_array($ret))
{
return false;
}
return $ret;
}
function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
{
$ret = Curl_Class::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password);
if (false === $ret)
{
return false;
}
if (is_array($ret))
{
return false;
}
return $ret;
}
function create()
{
$ch = null;
if (!function_exists('curl_init'))
{
return false;
}
$ch = curl_init();
if (!is_resource($ch))
{
return false;
}
return $ch;
}
}
您可能感兴趣的文章:
php curl模拟post请求的例子
php curl模块的用法举例
PHP添加CURL扩展库的二种方法
php curl超时设置详解
php CURL模拟cookie登录的代码
php curl上传文件的简单例子
php curl实现get,post和cookie的实例代码
php中开启curl扩展的方法详解
php curl post的简单示例
php curl错误代码列表(收集)
php curl用法的实例代码
php curl中post与get应用实例代码
php中通过curl smtp发送邮件的例子
PHP中用CURL伪造IP来源的方法
php使用curl伪造IP来源的代码
php curl 学习总结
您可能感兴趣的文章:
curl是php自带的吗
PHP CURL封装类代码一例
Curl封装类Curl.class.php及调用方法
php curl 多线程类实例分享
php curl中x-www-form-urlencoded与multipart/form-data 方式 Post 提交数据详解
PHP curl封装类(包含读取/写入/读写cookie/post/代理/伪造来源IP)
php中开启curl扩展的方法详解
php curl模拟post请求的例子
php curl实现http与https请求实例
php中file_get_contents代替使用curl示例