ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息
ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息是需要客户授权,下面讲解详细步骤:
第一步:客户点击登录页,自动跳转到微信服务器端获取code
第二步:用第一步获取的code去获取客户的access_token、openid
第三步:用刚才获取到的access_token、openid去获取客户基本信息
上述三步设计的内容相对逻辑简单,但是写代码逻辑全部被封装到WeixinDLL,下面直接上代码。
登录页面:login.asp
1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
2 <!DOCTYPE html>
3 <html>
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
7 <title>客户微信登陆</title>
8 </head>
9 <body>
10 <%
11 On Error Resume Next
12 Dim WxObj
13 Set WxObj = Server.CreateObject("WeixinDLL.WeixinClass")
14 WxObj.SetAppID = "微信服务号AppID"
15 Dim RedirectUrl,CallUrl
16 CallUrl = "https://www.domain.com/login/call.asp" ' 这个是跳转返回我们自己服务器接收客户数据信息的页面
17 RedirectUrl = WxObj.Get_RedirectUrl(CallUrl) '这个是将微信条状登录复杂页面封装到DLL内直接调用即可
18 Response.Redirect(RedirectUrl) '跳转登录认证
19 Set WxObj = Nothing
20 If Err Then Response.Write Err.Description
21 %>
22 </body>
23 </html>
接收客户信息的页面:call.asp
1 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
2 <!DOCTYPE html>
3 <html>
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
7 <title>客户授权微信个人信息</title>
8 </head>
9 <body>
10 <%
11 'On Error Resume Next
12 Dim WxObj
13 Set WxObj = Server.CreateObject("WeixinDLL.WeixinClass")
14 WxObj.SetAppID = "微信服务号AppID"
15 WxObj.SetAppSecret = "微信服务号AppSecret"
16
17 Dim Code,TOJson,UserJson,uJson,TokenOpenID
18 Code = Trim(Request("code"))
19 TOJson = WxObj.Get_Token_OpenID(code)
20 If TOJson="" Then Response.Write "获取access_token与openid失败":Response.End()
21
22 UserJson = WxObj.GetUserInfo(TOJson)
23 Set uJson = WxObj.parseJSON(UserJson)
24 Response.Write "openid=" & uJson.openid & "<br>"
25 Response.Write "nickname=" & uJson.nickname & "<br>"
26 Response.Write "headimgurl=" & uJson.headimgurl & "<br>"
27 Response.Write "country=" & uJson.country & "<br>"
28 Response.Write "province=" & uJson.province & "<br>"
29 Response.Write "city=" & uJson.city & "<br>"
30 'Response.Write "unionid=" & uJson.unionid & "<br>" ' 公众号绑定到微信开放平台帐号后,才会出现该字段
31
32 Set uJson = Nothing
33 Set WxObj = Nothing
34 'If Err Then Response.Write Err.Description
35 %>
36 </body>
37 </html>
注意上述客户授权微信服务号H5登录程序用到了 WeixinDLL 组件,如需要此组件者,可以联系我:z18670092211
ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息的更多相关文章
- ASP程序写的项目与微信服务号(公众号)完美结合。仅需一个DLL组建WeixinDLL
因ASP程序开发有很多优点,早年间ASP风靡全球,因此如今还在继续运营的ASP开发的项目仍在运行着,但是随着社交网络不断发达,特别是微信支付.微信通讯.小程序等的出现,导致很多ASP项目对接起来就比较 ...
- PHP 开发社区微信服务号实战图解
本博文就月初刚上线的微信服务号,图文进行总结分享给大家. 去年年底,我所在的团队讨论要开发微信号,话题由此拉开: 原来有一个3年前注册的微信号,但是后台操作无法从“订阅号”变更为“服务号”,随即找腾讯 ...
- 通过微信服务号推送Zabbix告警
近期看到一篇通过微信实现Zabbix告警的文章,但实践时发现,无法成功发送消息. 分析原因,应该是微信公众平台加强了登录验证,在登录时会需要管理员进行扫描二维码操作才能成功登陆后台: 而之前文章中的A ...
- 微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化
微信服务号模板消息可以向用户发送重要的服务通知,如信用卡刷卡通知,商品购买成功通知等.昨日,微信团队发布公告称模板消息新增“设置行业”和“添加模板”接口及细节优化,详细变动如下 模板消息[业务通知]自 ...
- $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)
一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...
- 微信服务号 redirect_uri域名与后台配置不一致,错误代码10003
微信服务号开发获取用户openid时一直提示 redirect_uri域名与后台配置不一致,错误代码10003:后台也配置了域名 原因: 结果:获取到了openid
- Java微信服务号的开发(简单入门)
进行微信服务号开发的步骤 一个别人已经搭建好的项目参考地址:下载链接 1.搭建微信服务号的服务器 项目配置maven <dependency> <groupId>com.soe ...
- 微信公众号开发(三)获取access_token
微信公众号开发(三)获取access_token 1.说明 access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.acce ...
- 微信公众号H5支付遇到的那些坑
简史 官方文档说的很清楚,商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程. 当然,最近微信支付平台也加入了纯H5支付,也就是说用户可以在微信以外的 ...
随机推荐
- Prism.WPF -- Prism框架使用(下)
本文参考Prism官方示例 命令使用 Prism提供了两种命令:DelegateCommand和CompositeCommand. DelegateCommand DelegateCommand封装了 ...
- 后端程序员之路 50、Go语言开发环境
Downloads - The Go Programming Languagehttps://golang.org/dl/ - windows下的开发环境 - 下载go1.8.1.windows ...
- BurpSuite生成快捷方式
Win下 在win系统写个脚本,能方便快捷的打开burp. burp.bat @echo oFF if "%1" neq "1" ( >"%te ...
- 12张图打开JMeter体系结构全局视角
JMeter是Java技术栈工具,在软件测试领域应用非常广泛,无论是性能测试还是接口测试,技术都很成熟和稳定.它有一个突出特点:开源,适合做二次开发,以阿里为代表的Java技术栈公司都对它青睐有加.在 ...
- FutureTask源码分析(JDK7)
总览 A cancellable asynchronous computation. This class provides a base implementation of {@link Futur ...
- LeetCode-二叉树的深度
二叉树的深度 二叉树的深度 使用递归求解二叉树的深度. 需要注意使用的临界条件. /** * 任意一个二叉树的最大深度 **/ #include<iostream> #include< ...
- 一. MySQL基础语法
1. 案例库表 2. DQL语言(数据查询) 2.1 基础查询 -- 进入指定的库 USE myemployees; DESC employees; -- 使用SELECT查询字段 # 1.查询表中的 ...
- IDEA 远程调试服务器代码
在 /home/ttx/app/uco-azj/catalina/30017/bin/set_env.sh export CATALINA_OPTS="-Xms1g -Xmx2g -XX:+ ...
- 爬虫必知必会(3)_requests模块高级
一.爬虫爬取失败的几个原因 1.在短时间内向网站发起了一个高频的请求 解决办法:使用代理 2.连接池(http)中的资源被耗尽 解决办法:立即将请求断开:Connection:close 3.高清图片 ...
- PHP配置 3. 配置open_basedir
open_basedir将网站限定在指定的目录,做目录的隔离 先在php.ini中设置open_basedir: # vim /usr/local/php/etc/php.ini //搜索open_b ...