前言:現在基本是個網站就會集成第三方的一些接口,比如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或域名的形式。
總結:總得來說就是第三方接口集成需要線上的環境才能看到效果,這樣在集成的時候就很那發現問題,也不方便調試;通過以上的配置,也就搭建了我們本地可測試的環境。