如何本地测试例如QQ登录等第三方接口
前言:现在基本是个网站就会集成第三方的一些接口,比如QQ登录、分享等等。但是在开发的时候,尤其是没有这方面经验的开发人员来说,调试流程时会显得迷茫,不知道怎么调试。这里就个人的这方面学习摸索做一个总结。
如题,本篇只是总结 如何本地测试例如QQ登录等第三方接口。
特别说明:1、本文以集成QQ登录接口为例。2、因为是NET程序猿,所以以VS举例说明
关于如何成为QQ开发者,如何申请AppID以及AppKey,不再赘述!百度百科上都有了,还说什么呢!呵呵~
关于如何集成,这个官网上都有各种SDK,而且都是开源的,这个下下来,自行学习就能会,也不再赘述!
关于NET平台下的3个web服务器(①Windows自带的IIS Web服务器、②IISExpress以及 ③Visual Studio自带的ASP.NET开发服务器(webdev.exe)) 的区别,这个自行搜索一下就会清楚,因为我也说不很具体,O(∩_∩)O~。
好了,为了说明问题,我们就从如何配置QQ登录接口的“回调地址”说起,因为这也是集成之后流程能不能走通的关节之所在。
QQ登录接口的回调地址要求:可填写多个回调地址,“http(s)://”开头,不带查询参数和hash参数。也就是说正确的格式应该是 http(s)://域名或IP/回调地址路径,比如http://127.0.0.1/Tencent/Authorized/或http://www.woyaoceshi.com/Tencent/Authorized/ 是正确的格式,而像http://localhost/Tencent/Authorized/,肯定是错的,你可以试一下。
那么问题就比较清楚了,如果我们直接启动vs打开页面,肯定是localhost这样的地址,显然是不行的。如何才能是IP或域名的形式呢?当然是可以配置的。
一、如果使用的是VS开发服务器
右键项目->打开属性页->Web标签
1、设置启动URL为http://127.0.0.1
2、设置端口为80;
特别说明:为什么端口要设置成80?因为如果使用其他端口号,就要在URL地址中显示使用,而QQ登录接口的回调地址却不能使用端口号,你可以试试。
还有一点,最好也不要使用8080,至于80和8080的区别,我也还只是一知半解,反正我在实验时8080也要显示使用。
另外提醒如果你的IIS上已经部署了web并且占用了80或8080端口,需要停止一下,否则运行时就会转到你那个web应用上去了。
Ok!再来说一下如何使用域名的形式。
1、在C:\Windows\System32\drivers\etc下打开hosts文件;有的童鞋可能在打开或修改这个文件时,会有权限的问题,这里提醒一下:hosts文件右键属性-安全-高级中提升一下当前电脑用户的权限即可。
2、打开后添加 一条记录:127.0.0.1 www.woyaoceshi.com ;这样在完成了域名映射之后,上面的启动URL也可以设为:http://www.woyaoceshi.com;说明:这个域名你随便写,这里只是举个例子。
友情提示:关于hosts文件的作用,百度百科上有一篇文章,说的很好很清楚,恕我没有记下地址。另外关于域名要不要www?我想说要不要都可以,但是使用时要保持统一,因为域名有没有www还是有区别的。至于有何区别,恕我也不能说的很明白,也在学习中啊/(ㄒoㄒ)/~~
至此,就可以以http://127.0.0.1或http://www.woyaoceshi.com的形式启动项目,回调地址就可以配置成http://127.0.0.1/Tencent/Authorized/或http://www.woyaoceshi.com/Tencent/Authorized/ ,这样关节就被打通了。
二、使用IIS Express
为何使用IIS Express?因为她弥补了IIS和VS服务器各自的缺点。使用VS服务器有时我们很难测试线上环境下的一些问题,而使用IIS发现了问题又很难进行调试。于是就有了IIS Express,让我们能发现线上环境下的问题,并且方便调试。
1、项目启动IIS Express;右键项目->打开属性页->Web标签
1、选择使用本地IIS web服务器
2、选择使用IIS Express
3、配置项目URL为http://localhost;此时保存配置,可能会收到“尚未配置为web项目XXX指定的本地IIS Express URL”的提示,直接点确定,让VS自动创建即可。
4、打开C:\Users\<你的电脑用户名>\Documents\IISExpress\config下的applicationhost,找到第3步中生成的site节点(根据你的项目名称找),修改见下图中说明
添加上图圈中的两条记录:
<binding protocol="http" bindingInformation="*:80:www.woyaoceshi.com" />
<binding protocol="http" bindingInformation="*:80:127.0.0.1" />这样,也就可以在第三步中将项目URL配置为http://127.0.0.1或http://www.woyaoceshi.com ,启动时web地址直接就是IP或域名的形式。
总结:总得来说就是第三方接口集成需要线上的环境才能看到效果,这样在集成的时候就很那发现问题,也不方便调试;通过以上的配置,也就搭建了我们本地可测试的环境。