1.微信公众号 这里得话 一开始先去看了 微信公众号的接口 发现网页授权需要时认证的服务号,一开始想的是那去申请一个认证的服务号岂不是很费事,然后网上搜了搜,发现了还有微信公众号个人测试号这个东西,所有的接口都可以使用(据说是这样),然后就开始去学习使用微信公众号个人测试号的使用;
个人测试号网址:
http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

2.个人测试号也是一通网上去找教程,试了很多个百度搜索的结果,发现都不完全好用。因为我这个开发的网站是在本地开发的,倒是在刚才搜索的教程中找到了 “内网穿透”这个神器,就是可以把你本地的网址(一般是127.0.0.1)隐射到外网的一个网址上,这样别人就可以通过这个外网的网址(什么是外网,就是不是本机电脑才可以访问的网址,所有人只要知道网址就可以访问的网络就是外网)放问到你的内网(内网就是只有自己本机的电脑可以访问的网络)。

https://blog.csdn.net/m0_37987521/article/details/79525515 这个网址就是刚才成功内网穿透的教程。

看到这里,大家可能会有疑问为啥需要这个内网穿透的东西,因为个人微信公众号需要绑定一个网址,这个网址必须是外网,而且端口必须是80端口,才可以成功。

到这里就解决了内网穿透这个问题,接下来的是如何把我的外网网址绑定到微信的个人测试公众号上。之前也说了,在百度搜索引擎搜了很多,发现都不太好用,于是去谷歌搜索去试一下,你还别说,试了一个谷歌搜索,还真找到了好用的博客,
https://www.kancloud.cn/zhangyouwu/zhang_you_wu_weixinjiekou/538920
照着博客的指示来,就成功绑定好了微信个人测试公众号与我的外网网址。所以这里大家可以看出来,谷歌的好处,百度搜不到建议谷歌试一下,说不定就会有意外之喜。

3.绑定好了以后就是想去在微信公众号对话框回复消息,然后我这里后台可以接收到消息,然后对这条消息进行回复,就是公众号自动回复的功能,
https://www.kancloud.cn/zhangyouwu/zhang_you_wu_weixinjiekou/538922
这里照着教程(刚才的网址)中走就行,有一点大家要注意的是,教程中的代码中有中文的内容在代码中,这个可能会让我们的代码不好用,我是把教程中的代码复制到sublime 上保存为php文件才好用,一开始复制到notepad++上代码无法正常运行,公众号后台对话框老是回复 “该公众号提供的服务出现故障,请稍后再试”,检查代码发现是教程中的中文在notepad++上乱码了,这里想和大家说的是看到中文一定要留个心眼,尽量不要出现中文,还有就是文件路径尽量不要用中文路径。

4.由于甲方要求有用户登录需要通过微信公众号获取用户的个人信息这个操作,所以还需要实现微信网页授权,如下午所示,网址是:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

照着上面的教程去拼接出这样一个链接:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
上述是微信官方文档的示例,接下来的链接是我拼出来的:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirect_uri=http%3A//education123.natapp1.cc/&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

可以看到我修改了appid redirect_url scope 这三个参数,appid就是你申请微信公众个人测试号的appid,就是下图的方框框起来的appid
redirect_url就是下面箭头指向的链接,(这里我就不打马赛克了,给大家一个更直观的清楚的感觉,而且必须是我开启了我的本地服务器才可以访问的,所以问题不大),redirect_url中是经过urlencode处理过的链接,不是原始的链接,这里我使用python2 两行代码搞定
from urllib import quote
print(quote('http://education123.natapp1.cc/'))

把上述拼接好的链接,直接复制传到微信的对话框,在微信中访问,会请求获取你的信息,这里就完成了微信网页授权这个功能。

5.上述完成以后,就是按照官方文档去获取code,但是我返回的网址中没有任何的code信息,
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirect_uri=http%3A//education123.natapp1.cc/&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect



这个网址访问以后,复制出来的链接是http.//education123.natapp1.cc/
没有任何的code信息,我们需要这个code信息去获取用户的信息(昵称,性别,openid)等,于是又去google搜了一下,果然还是又找到了。
https://my.oschina.net/u/2487410/blog/603844
这个博客,原来微信再返回code的时候,做了处理,直接复制链接是看不到这个code参数的。

于是我照着这个代码修改了一下,写了get_back.php,注意这个get_back.php必须放到你的项目的根目录下
修改最初的授权的url:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx24085f99556b3abe&redirect_uri=http%3A//education123.natapp1.cc/get_back.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

可以看到这个授权的url变成了get_back.php 后缀的,这个get_back.php

是这样子的,再来把刚才的链接在微信的客户端打开。

可以看到出现了一串神秘代码,这串代码就是我们需要的code.


可以看到获取到了我的 昵称和我的openid .

觉得文章不错的欢迎关注我的WX公众号:程序员乔戈里
我是百度后台开发工程师,哈工大计算机本硕,专注分享技术干货/编程资源/求职面试/成长感悟等,关注送5000G编程资源和自己整理的一份帮助不少人拿下java的offer的面经附答案,免费下载CSDN资源。

微信公众号发送消息给用户 php的更多相关文章

  1. 微信公众号发送消息模板(java)

    这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 public static JSONObject sendModelMessage(ServletContext context ...

  2. Python 微信公众号发送消息

    1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. ...

  3. 微信小程序结合微信公众号进行消息发送

    微信小程序结合微信公众号进行消息发送 由于小程序的模板消息已经废弃了,官方让使用订阅消息功能.而订阅消息的使用限制比较大,用户必须得订阅.需要获取用户同意接收消息的权限.用户必须得和小程序有交互的时候 ...

  4. php之微信公众号发送模板消息

    讲一下开发项目中微信公众号发送模板消息的实现过程(我用的还是Thinkphp5.0). 先看一下效果,如图: 就是类似于这样的,下面讲一下实现过程: 第一步:微信公众号申请模板消息权限: 立即申请: ...

  5. C#实现微信公众号群发消息(解决一天只能发一次的限制)

    经过几天研究网上的代码和谢灿大神的帮忙,今天终于用C#实现了微信公众号群发消息,现在整理一下. 总体思路:1.首先必须要在微信公众平台上申请一个公众号. 2.然后进行模拟登陆.(由于我对http传输原 ...

  6. 【C#版本】微信公众号模板消息对接(一)(图文详解)

    特此说明:本篇文章为个人原创文章,创作不易,未经作者本人同意.许可等条件,不得以任何形式搬运.转载.抄袭(等包括但不限于此手段)本文章,否则保留追究有关侵权人责任的权利 一.认识微信公众号模板消息 什 ...

  7. 2014-07-24 .NET实现微信公众号的消息回复与自定义菜单

    今天是在吾索实习的第12天.我们在这一天中,基本实现了微信公众号的消息回复与自定义菜单的创建. 首先,是实现消息回复,其关键点如下: 读取POST来的数据流:Stream 数据流变量 = HttpCo ...

  8. Java微信公众号安全模式消息解密

    这篇文章主要为大家详细介绍了Java微信公众号安全模式消息解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.微信公众平台下载解密工具,导入项目中,根据demo解密消息 public stat ...

  9. 微信公众号发送告警Python脚本

    调用该脚本,可以向微信公众号发生告警. #!/bin/env python #coding:utf-8 #Author: Hogan #Descript : 微信公众号发送告警脚本 import ur ...

随机推荐

  1. 干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结

    目录 C# VS JAVA 基础语法类比篇: 一.匿名类 二.类型初始化 三.委托(方法引用) 四.Lambda表达式 五.泛型 六.自动释放 七.重写(override) ASP.NET CORE ...

  2. c++学习书籍推荐《Visual C++2008入门经典》下载

    百度云及其他网盘下载地址:点我 <Visual C++2008入门经典>学习目标: 使用标准模板库(STL)来组织和操作本地C++程序中的数据 C++程序调试技术 构造Microsoft ...

  3. 从壹开始[ 做贡献 ]之三 || 北京.Net俱乐部活动——DNT精英论坛开幕

    缘起 哈喽大家好!好久不见,可能有一部分小伙伴发现我好久没有写文章了,是不是懒惰了,并没有,这两周也是正式开始了<NetCore系列教程的视频录制>,不过还不多,预计会是每周一个视频,基本 ...

  4. vmware + opensuse windows如何远程登录到suse上

    vmware我还是比较偏向7.1.4版本,其他版本装在win7上似乎有点问题.windows平台下,使用vmware + opensuse的网络配置过程如下:      1. 装完vm后,会在本地连接 ...

  5. kali linux上安装ssh

    1.暂停kali上的ssh进程 root@kali:~# sudo stop ssh 2.卸载ssh服务 root@kali:~# apt-get remove openssh-server 这里可能 ...

  6. MTSC2019第五届移动互联网测试开发大会PPT下载

    关注公众号「软件测试大本营」后台回复「MTSC」或「测试开发大会」即可获取云盘下载地址及提取码. 注:PPT文件版权归相关撰写人所有,仅供学习交流,请勿用于任何商业用途,谢谢 前不久在北京举办了第五届 ...

  7. 个人永久性免费-Excel催化剂功能第67波-父子结构表转换添加辅助信息之子父关系篇

    Excel作为一款数据领域的万物互联工具,连接一切外部的多种多样的数据源.将数据带到Excel的环境中,再进行数据处理.转换.统计分析等工作,是众多表哥表姐们每天都在经历的事情.能最快速将其他来源数据 ...

  8. ASP.NET登录验证码解决方案

    目录 #验证码效果图 #代码 0.html代码 1.Handler中调用验证码生成类 2.验证码图片绘制生成类 3.高斯模糊算法类 #注意 #参考 在web项目中,为了防止登录被暴力破解,需要在登录的 ...

  9. 通信模型socket

    I/O的概念 操作系统的分为socket的I/O还有用户界面的输入输出,一般一个输入操作分为两个不同的阶段,1)等待数据准备好:2)从内核向进程复制数据 从理论上来讲,阻塞I/O.非阻塞I/O.复用I ...

  10. 推荐:经典SQL语句大全

    一.基础 .说明:备份sql server--- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mss ...