微信第三方登录的原理我就不再叙述了
在用户授权之后,微信服务端会回调一个地址,这个地址是我们在注册微信开放平台账号时填写的域下面的地址
这样问题就来了,我们需要有自己的服务器 和域名,而且还要把程序放到此域名下才可以做微信登录的测试功能,这样做很费时费力
其实我们完全可以修改hosts文件来解决这个问题
来看一下百度百科对hosts的介绍:
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
也就是说,我们只要把需要回调的地址(假设为www.aaa.com)在hosts文件中添加并关联到我们本机的ip地址(127.0.0.1),这样当我们在浏览器访问www.aaa.com时其实访问的就是127.0.0.1我们自己的电脑
127.0.0.1 www.aaa.com
只要在hosts最后一行添加上上面的语句就可以了
顺便说一下怎样测试,和有时无效的情况
只需要把我们自己的程序的访问端口改成80,然后在浏览器输入www.aaa.com/(这里可以加路径),就可以访问到我们自己的程序了。
无效的情况一般是由于浏览器会记住我们第一次访问网址时映射到的ip地址,如果修改了ip地址那么重新打开浏览器就可以了(因为这个问题浪费了我将近一个小时)
如果只是单纯的想测试一下hosts文件是否可用,可以这样
127.0.0.1 www.baidu.com
把上面的语句贴在hosts文件最后,在浏览器输入www.baidu.com,如果不可以访问到,代表hosts文件生效了
如果正常访问到了百度的页面,重启下浏览器,如果还不行那可能是你修改错误