2017-07-07 71 views
0

我收到了一些APP的API。 當我使用瀏覽器訪問這些API時,瀏覽器的彈出窗口告訴我填寫用戶名/密碼,然後我試圖填寫我的用戶名/密碼,並發現我通過了驗證! 然後我試着寫代碼如何在不使用C#/ UWP中的NetworkCredential的情況下訪問API?

var myClientHandler = new HttpClientHandler(); 
myClientHandler.Credentials = new NetworkCredential("abc", "[email protected]#"); 

this._client = new HttpClient(myClientHandler); 
this._client.BaseAddress = new Uri("http://api.xxx.com"); 
var result = await this._client.GetStringAsync("some_api_foo.json"); 

運行的很好!

(我們知道,如果沒有的NetworkCredential,將有401未經授權除外)

但我發現官方的APP可以訪問某些API無需用戶登錄。它是如何工作?它是否使用公共賬戶?或者還有另一種訪問API的方式嗎?

回答

0

使用Fiddler>檢查認證頭的存在是爲了驗證用戶:基本xxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxx用戶名:密碼的Base64) 解密它!

相關問題