php使用CURL模拟GET与POST向微信接口提交及获取数据的方法

时间:2016-11-09599举报小编:youjiejie

    CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问。用CURL模拟GET与POST向微信接口提交及获取数据的方法其实非常简单,下面就是两个实力:

    Get提交获取数据

    /**
    * @desc 获取access_token
    * @return String access_token
    */
    function getAccessToken(){
      $AppId = '1232assad13213123';
      $AppSecret = '2312312321adss3123213';
      $getUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$AppId.'&secret='.$AppSecret;
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $getUrl);
      curl_setopt($ch, CURLOPT_HEADER, 0);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURL_SSLVERSION_SSL, 2);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
      $data = curl_exec($ch);
      $response = json_decode($data);
      return $response->access_token;
    }

    post提交获取数据

    /**
    * @desc 实现天气内容回复
    */
    public function testWeixin(){
    $access_token = $this->getAccessToken();
    $customMessageSendUrl = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token;
    $description = '今天天气的详细信息(从第三方获取)。';
    $url = 'http://weather.com/';
    $picurl = 'http://weather.com/';
    $postDataArr = array(
    'touser'=>'OPENID',
    'msgtype'=>'news',
    'news'=>array(
      'articles'=>array(
     'title'=>'当天天气',
     'description'=>$description,
     'url'=>$url,
     'picurl'=>$picurl,
      ),
    ),
    );
    $postJosnData = json_encode($postDataArr);
    $ch = curl_init($customMessageSendUrl);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postJosnData);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    $data = curl_exec($ch);
    var_dump($data);
    }