微信jssdk接口(php)_月月鸟三寿的博客-程序员宅基地

技术标签: 微信  php  

<?php 
//微信jssdk接口
function weixinsdk(){ 
//公众号查看appid跟secret分别填入
$appid = 'your appid';
$secret = 'your secret';


$ticketData =json_decode(file_get_contents("jsapi_ticket.json"));
if($ticketData->expire_time < time() || !$ticketData->jsapi_ticket){
$token='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;

$token = json_decode(http_get($token));


$jsapi_ticket = json_decode(http_get('https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$token->access_token.'&type=jsapi'));
if ($jsapi_ticket) {
$ticketData->expire_time = time() + 7000;
$ticketData->jsapi_ticket = $jsapi_ticket->ticket;
$fp = fopen("jsapi_ticket.json", "w");
fwrite($fp, json_encode($ticketData));
fclose($fp);
}
}
$jsapi_ticket = $ticketData->jsapi_ticket;


$timestamp = time();


$url = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   
   $nonceStr = "";
   
   for ($i = 0; $i < 16; $i++){
     $nonceStr .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
   }


$string = "jsapi_ticket=$jsapi_ticket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";
$signPackage = array(
'appId' => $appid,
'timestamp' => $timestamp,
'nonceStr' => $nonceStr,
'signature' => sha1($string),
);
return $signPackage;


}
/**
* GET 请求
* @param string $url
*/
function http_get($url){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cpt0518/article/details/44978043

智能推荐

Android 蓝牙架构概述_即将秃头的吕同学的博客-程序员宅基地

Android 提供支持经典蓝牙和蓝牙低功耗的默认蓝牙堆栈。借助蓝牙,Android 设备可以创建个人区域网络,以便通过附近的蓝牙设备发送和接收数据。在 Android 4.3 及更高版本中,Android 蓝牙堆栈可提供实现蓝牙低功耗 (BLE) 的功能。要充分利用 BLE API,请遵循Android 蓝牙 HCI 要求。具有合格芯片组的 Android 设备可以实现经典蓝牙或同时实现经典蓝牙和 BLE。BLE 不能向后兼容较旧版本的蓝牙芯片组。在 Android 8.0 中,原生蓝牙堆栈.

honor荣耀独立之后有什么变化?_荣耀独立后自己的系统_hanniuniu13的博客-程序员宅基地

honor荣耀独立之初宣言:致力于成为构建全场景、面向全渠道、服务全人群的全球标志性科技品牌,以创新、品质和服务作为三大战略控制点,坚持研发及前瞻性技术的持续投入,为全球消费者带来不断创新的智能设备, 创造属于每个人的智慧新世界。目前honor荣耀已经独立大半年有余,如今的TA能成为宣言中所说的那般吗?今天我们来说说这件事。  honor荣耀LOGOhonor荣耀独立背后的故事,大家都心照不宣,仿佛壮士割腕般悲壮,这更坚定honor荣耀砥砺前行的初心。honor荣耀站在巨人的肩膀上起航,理应走得更快更

2016中国软件业务收入百强名单:通信业占比五成 华为遥遥领先_weixin_34200628的博客-程序员宅基地

在2016年全国工业和通信业运行监测协调工作座谈会上,工业和信息化部发布了2016年(第15届)中国软件业务收入前百家企业名单及发展报告。本届软件前百家企业共有14家新上榜,入围门槛为软件业务年收入13.3亿元,比上一届提高了2.8亿元,增长26.7%。本届软件前百家企业表现出的发展特点包括:一是整体规模持续扩大,效益实现快速增长,软件前百家企业共完...

LeetCode 每日一题 525.连续数组_SYSU_Zhiyuan的博客-程序员宅基地

LeetCode 每日一题 525.连续数组问题描述简要思路代码问题描述简要思路和昨天的题一样,前缀和 + 哈希表。代码public: int findMaxLength(vector&lt;int&gt;&amp; nums) { int n = nums.size(); int res = 0; unordered_map&lt;int, int&gt; m; int sum = 0; m[sum] =

C++标准转换运算符const_cast_风水月的博客-程序员宅基地

前面讲了C++继承并扩展C语言的传统类型转换方式,最后留下了一些关于指针和引用上的转换问题,没有做详细地讲述。C++相比于C是一门面向对象的语言,面向对象最大的特点之一就是具有“多态性(Polymorphism)”。要想很好的使用多态性,就免不了要使用指针和引用,也免不了会碰到转换的问题,所以在这一篇,就把导师讲的以及在网上反复查阅了解的知识总结一下。C++提供了四个转换运算符:

什么时候可以升级HarmonyOS,华为鸿蒙OS即将迎来升级 手机版本或仍需时间_MCPlayer542的博客-程序员宅基地

原标题:华为鸿蒙OS即将迎来升级 手机版本或仍需时间在2019年的华为开发者大会上,华为消费者业务CEO余承东正式对外发布了HarmonyOS。时隔一年后,华为开发者大会2020即将拉开帷幕。此次大会,HarmonyOS无疑仍会是重头戏之一,这个被寄予厚望的操作系统或将迎来新的升级。访问:正如所说,“不凡的2020年,华为开发者大会2020(Together)如约而至”。2020年发生了太多意想不...

随便推点

[转载]JBuilder2005创建开发文档之编写注释_congji3817的博客-程序员宅基地

JBuilder2005创建开发文档之编写注释可以通过代码模板快速的录入Javadoc注释,你也可以选择通过Javadoc对话框以一种形象化的方式录入Javadoc注释。此外,JBuilder还提供了各种Javadoc的辅助...

NACOS漏洞深入解析(审计+复现)_FR0-1的博客-程序员宅基地

目前攻防对抗实战中,Nacos的环境遇到非常多,并且无一例外都没有开启auth,很多防守方甚至只是用防火墙阻断网上公开的那几条exp利用的关键地址,Nacos里面保存了企业很多的配置文件比如数据库连接信息、AK/SK信息等等,拿到账号密码等信息之后用来做密码本,然后再进行内网横向,杀伤力非常之大。看一下/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java文件中369行开始的代码。

Nacos漏洞总结复现_渗透测试中心的博客-程序员宅基地

Nacos漏洞总结复现一、Nacos默认key导致权限绕过登陆0x00 漏洞描述Nacos中发现影响Nacos &lt;= 2.1.0的问题,Nacos用户使用默认JWT密钥导致未授权访问漏洞。 通过该漏洞,攻击者可以绕过用户名密码认证,直接登录Nacos用户0x01漏洞影响0.1.0 &lt;= Nacos &lt;= 2.2.00x02 漏洞搜索fofa:app="NACOS"0x03 ...

【unity】FPS快速实现全息瞄准镜_unity 瞄准镜_1eonleonChan的博客-程序员宅基地

使用Unity快速实现全息瞄准镜效果先看最终效果:最近在做项目小地图的时候,使用到了UI层的Mask起初想使用SpriteRenderer控制我的一个图片直接变色,但是发现了一个Bug,在Mask之内的所有SpriteRenderer下的Sprite,都是原来的基础颜色而非我想要的其他颜色,效果如图:可以看到的 我是以最大的外面的圆作为Mask的大小,我要变色的SpriteRenderer是其子物体。因为一开始我的圆是黑的,我想着会不会是被遮挡,于是以改变SpriteRenderer

英语面试常见问题集锦 ._hackai886的博客-程序员宅基地

求职面试时的"甜言蜜语" 1. What is important to you in a job?Challenge, the feeling of accomplishment, and knowing that you have made a contribution.2. Why do you want to work for this organization?

get the android sdk 下载,stand alone android sdk download_罗神抓妖记的博客-程序员宅基地

2014年12月20日 — 圖1 按下stand-alone SDK Tools. Java程式教學甘仔店Android Eclipse 之SDK 下載與安裝(二). 二、進入Android SDK Tools 頁圖2 按下download... ,2020年8月3日 — Download Android SDK. The Android SDK provides all the necessa...

推荐文章

热门文章

相关标签