zoukankan      html  css  js  c++  java
  • 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'];
    }
    //通用curl
    function 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;
    }
  • 相关阅读:
    JavaScript Array filter() 方法
    Object.assign方法的使用入门
    使用ES6新特性async await进行异步处理
    win10系统怎么设置软件开机启动
    【ES6学习笔记之】Object.assign()高级编程
    如何使用闭包形成计数器
    多次调用settimeout 如何使用单例模式
    在线表单设计器现在已经开源
    VisualStudio2017集成GitHub
    PHP使用curl替代file_get_contents
  • 原文地址:https://www.cnblogs.com/shadow-li/p/9305489.html
Copyright © 2011-2022 走看看