/*

require_once('weixin.class.php');

$weixin = new class_weixin();

*/

define('APPID',        "wx19ba77624e083e08");

define('APPSECRET',    "c1a56a5c4247dd44c320c9719c5ceb90");

class class_weixin

{

var $appid = APPID;

var $appsecret = APPSECRET;

//构造函数,获取Access Token

public function __construct($appid = NULL, $appsecret = NULL)

{

if($appid && $appsecret){

$this->appid = $appid;

$this->appsecret = $appsecret;

}

//扫码登录不需要该Access Token, 语义理解需要

//1. 本地写入

$res = file_get_contents('access_token.json');

$result = json_decode($res, true);

$this->expires_time = $result["expires_time"];

$this->access_token = $result["access_token"];

if (time() > ($this->expires_time + 3600)){

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret;

$res = $this->http_request($url);

$result = json_decode($res, true);

$this->access_token = $result["access_token"];

$this->expires_time = time();

file_put_contents('access_token.json', '{"access_token": "'.$this->access_token.'", "expires_time": '.$this->expires_time.'}');

}

}

/*

*  PART1 网站应用

*/

/*

header("Content-type: text/html; charset=utf-8");

require_once('wxopen.class.php');

$weixin = new class_weixin();

if (!isset($_GET["code"])){

$redirect_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$jumpurl = $weixin->qrconnect($redirect_url, "snsapi_login", "123");

Header("Location: $jumpurl");

}else{

$oauth2_info = $weixin->oauth2_access_token($_GET["code"]);

$userinfo = $weixin->oauth2_get_user_info($oauth2_info['access_token'], $oauth2_info['openid']);

var_dump($userinfo);

}

*/

//生成扫码登录的URL

public function qrconnect($redirect_url, $scope, $state = NULL)

{

$url = "https://open.weixin.qq.com/connect/qrconnect?appid=".$this->appid."&redirect_uri=".urlencode($redirect_url)."&response_type=code&scope=".$scope."&state=".$state."#wechat_redirect";

return $url;

}

//生成OAuth2的Access Token

public function oauth2_access_token($code)

{

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->appid."&secret=".$this->appsecret."&code=".$code."&grant_type=authorization_code";

$res = $this->http_request($url);

return json_decode($res, true);

}

//获取用户基本信息(OAuth2 授权的 Access Token 获取 未关注用户,Access Token为临时获取)

public function oauth2_get_user_info($access_token, $openid)

{

$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";

$res = $this->http_request($url);

return json_decode($res, true);

}

php 微信 爬虫 源码,PHP实现微信开放平台扫码登录源码下载相关推荐

  1. jee-weapp是一套基于jfinal,dubbo微服务开发的微信小程序商城项目,首次开放全部拼团前后台源码

    介绍: jee-weapp 简介 jee-weapp基于微信第三方开放平台基础框架, 多模块化开发不同的微信营销插件, 支持微信第三方平台扫码授权公众号,小程序 支持微信第三方平台覆盖全网发布 支持小 ...

  2. python获取微信用户基本信息_微信开放平台扫码登录获取用户基本信息!附可用demo...

    微信开放平台提供了网站扫码登录的接口,用于获取用户基本信息(头像,昵称)方便网站快速接入微信登录,快捷登录.需要使用登录接口,需要成为微信开放平台认证开发者(300元)才可以获得这个接口权限. 准备工 ...

  3. 微信开放平台扫码登陆

    微信授权扫码登陆 微信开放平台提供了两种登陆方式,一种是会跳转到一个很丑很丑,只有一个二维码的界面里: 另一种则是可以自己定制化的(二维码内嵌到自己网站内的方式) 第一种方式的完成非常简单,但是第二种 ...

  4. 海豚php源码,基于 ThinkPHP5.1 实现的海豚后台登录源码分析

    基于 thinkphp5.1 实现的海豚后台登录源码分析 一. 首先来到登录代码处,部分代码截图,大家有兴趣可以自己去看源码 登录处开始 public function signin() { if ( ...

  5. php源码微信快速登陆,PHP实现微信开放平台扫码登陆源码下载

    一.首先到微信开放平台申请https://open.weixin.qq.com/ 获取到appid和APPSECRET,前台显示页面以下 var obj = new WxLogin({ id: &qu ...

  6. 用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)

    本文将介绍基于Senparc.Weixin微信开发框架来实现网页授权来获取用户基本信息.先生成包含授权及回调url信息的二维码:用户用微信扫描之后,被要求授权以获取Ta的用户基本信息:用户授权后,通过 ...

  7. 小程序源码:AI微信小程序源码下载人脸照片AI转换动漫照片全新源码安装简单无需服务器域名-多玩法安装简单

    这是一款AI人脸转动漫的一款微信小程序源码 该款小程序源码无需服务器和域名 搭建安装简单 有多种风格转换模式可自选 安装教程: 首先解压源码然后把源码上传到微信开发者工具打开 另外设置一个合法域名 合 ...

  8. android 微信分享 源码,记录Android微信分享功能的吐槽与思考

    在App内潜入分享到微信好友或朋友圈的功能想必大家已经屡见不鲜了,比如Android分享一个网页信息(URL)到微信客户端的代码: /** * 微信分享:分享网页 * @param context * ...

  9. 微信小程序:去水印工具微信小程序源码

    这是一个去水印小程序 支持各大平台短视频去水印 支持图集去水印 另外还有一个功能也就相当于抖音一样刷短视频 偷偷告诉你们哟,刷的短视频都是热门小姐姐哟!惊不惊喜意不意外 小程序源码下载地址: 微信小程 ...

  10. 微信小程序【获取用户昵称头像和昵称(附源码)】

    获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 前端源码:https://pan.baidu.com/s/1uz2Gm2FMB-8RFVkhlHY ...

最新文章

  1. JS中的prototype
  2. 巧妙利用channel进行golang并发式爬虫
  3. 空间谱专题11:子阵平滑与秩亏缺
  4. ElasticSearch教程——自定义分词器(转学习使用)
  5. ROS笔记(7) 话题通信
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校运动会管理系统
  7. Android 系统预装添加第三方apk到data/app
  8. php 下载的文件损坏,php 文件下载 出现下载文件内容乱码损坏的解决方法
  9. 计算机专业评定职称论文,优秀计算机评职称论文参考文献 计算机评职称参考文献怎么写...
  10. QTimer::singleShot
  11. 微信个人赞赏码怎么用?微信赞赏码使用教程详解
  12. windows环境下搭建ftp服务和web服务,实现图片服务器功能
  13. C相关笔试题或者面试题中的概念以及技巧题2
  14. C++17 并行排序初体验
  15. 百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥.
  16. 基于java的URP教务系统爬虫实现
  17. 应用VB语言程序生成十个随机数
  18. puzzle(1036)数邻、多米诺骨牌
  19. XTU 1249 Rolling Variance
  20. Unity3d bounds包围盒 和collider碰撞器区别

热门文章

  1. LeetCode 69. x的平方根
  2. 台达伺服调试软件_万能机智能伺服油源调试说明
  3. 小班计算机游戏教案,幼儿园小班游戏教案15篇
  4. vue 四级联动 (修改版)
  5. EAS 后台事务配置
  6. 用word保存出高清的pdf文件
  7. ctfshow 8神PNG隐写入门(土)赛 WP
  8. Altium Designer中的长度单位如何转换?
  9. matlab 平滑曲线拟合散点
  10. php excel 下拉菜单,Yii2+phpexcel导出二级联动菜单