curl 微信接口获取素材

curl常量设置
bool类型
CURLOPT_HEADER 是否显将头信息做为数据流输出 通常为FALSE
CURLOPT_POST 默认是GET 须要POST时设置TURE 启用时会变成post方式
CURLOPT_SSL_VERIFYPEER 禁用后禁止从服务端验证 作爬虫时通常禁用掉
CURLOPT_SSL_VERIFYHOST 禁用后禁止验证SSL 作爬虫时通常禁用掉
CURLOPT_RETURNTRANSFER 启用后返回返回执行结果 通常要true
int类型
CURLOPT_CONNECTTIMEOUT 发起连接是访问的时间 相似url访问网址等待的时间 通常是0 就是不限制
CURLOPT_INFILESIZE 设置上传文件大小限制 单位字节
CURLOPT_PORT 设置访问的端口 默认为80
CURLOPT_PROXYPORT 设置代理服务器访问的端口 默认为80
CURLOPT_TIMEOUT 设置最大访问时间 通常120 单位秒

CURLFILES文件类
name 待上传文件名称 必填
mime 文件mime类型 选填 会自动解析
postname 上传数据里面的文件名称 选填 会自动解析

API 相似于可远程访问的函数 有接受值和返回值
//获取微信图片function get_photo($token,$logo){    $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=$token";    $data = array('buffer' => '@'.$logo);    $ch = curl_init();    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);//    curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, FALSE);    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch, CURLOPT_POST, true );    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);    curl_setopt($ch, CURLOPT_HEADER, false);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    $return_data = curl_exec($ch);    curl_close($ch);    $return_data = json_decode($return_data,true);    return $return_data['url'];}//通用curlfunction curl_http($url, $params, $method = 'GET', $header = array(), $multi = false){    $opts = array(        CURLOPT_TIMEOUT        => 30,        CURLOPT_RETURNTRANSFER => 1,        CURLOPT_SSL_VERIFYPEER => false,        CURLOPT_SSL_VERIFYHOST => false,        CURLOPT_HTTPHEADER     => $header    );    /* 根据请求类型设置特定参数 */    switch(strtoupper($method)){        case 'GET':            $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);            break;        case 'POST':            //判断是否传输文件            $params = $multi ? $params : http_build_query($params);            $opts[CURLOPT_URL] = $url;            $opts[CURLOPT_POST] = 1;            $opts[CURLOPT_POSTFIELDS] = $params;            break;        default:            throw new Exception('不支持的请求方式!');    }    /* 初始化并执行curl请求 */    $ch = curl_init();    curl_setopt_array($ch, $opts);    $data  = curl_exec($ch);    $error = curl_error($ch);    curl_close($ch);    if($error) throw new Exception('请求发生错误:' . $error);    return  $data;}
相关文章
相关标签/搜索