2017-07-07 61 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) 解密它!

相关问题