Cet article présente principalement la méthode de réalisation de l'accès à WeChat et d'interrogation de la valeur du jeton basée sur thinkPHP3.2. Il analyse les étapes de mise en œuvre spécifiques et les compétences opérationnelles associées de thinkPHP intégrant la requête de valeur du jeton d'opération de l'interface WeChat sous forme d'exemples. j'en ai besoin Pour référence,
L'exemple de cet article décrit la méthode d'implémentation de l'accès WeChat et d'interrogation de la valeur du jeton basée sur thinkPHP3.2. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
1. Configurez les valeurs TOKEN, APPID, APPSECRET dans le fichier config
2. 🎜>
<?php /** * 微信父类控制器 * @author Songle * */ namespace Weixin\Controller; use Think\Controller; class WeixinController extends Controller { private $last_time=null; private $appid=null; private $appsecret=null; function __construct(){ parent::__construct(); $token=C('TOKEN'); $this->appid=C('APPID'); $this->appsecret=C('APPSECRET'); //获取微信服务器GET请求的4个参数 $signature = I('signature'); $timestamp = I('timestamp'); $nonce = I('nonce'); $echostr = I('echostr'); if (! empty ( $echostr) && ! empty ( $signature ) && ! empty ($nonce )) { //定义一个数组,存储其中3个参数,分别是timestamp,nonce和token $tempArr = array($nonce,$timestamp,$token); //进行排序 sort($tempArr,SORT_STRING); //将数组转换成字符串 $tmpStr = implode($tempArr); //进行sha1加密算法 $tmpStr = sha1($tmpStr); //判断请求是否来自微信服务器,对比$tmpStr和$signature if($tmpStr == $signature) { echo $echostr; } exit(); } } /** * 获取tooken值 */ public function getTooken(){ $this->last_time = 1448012924; $access_token = "填写上一次的token值"; //需要替换成自己的 if(time() > ($this->last_time + 7200)) { //GET请求的地址 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->appsecret}"; $access_token_Arr = $this->https_request($url); $this->last_time = time(); return $access_token_Arr['access_token']; } return $access_token; } //https请求(支持GET和POST) public function https_request($url,$data = null) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); if(!empty($data)) { curl_setopt($ch,CURLOPT_POST,1); //模拟POST curl_setopt($ch,CURLOPT_POSTFIELDS,$data); //POST内容 } $outopt = curl_exec($ch); curl_close($ch); $outopt = json_decode($outopt,true); return $outopt; } }
Comment PHP utilise le jeton pour empêcher la soumission répétée de formulaires, formulaire de jeton
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!