【发布时间】:2016-11-18 01:59:34
【问题描述】:
我正在尝试在 UWP (Windows 10) 应用中执行 GET。我尝试了几种方法,但总是返回 401。
在 Postman 中它运行良好,但我似乎无法让它在我的应用程序中运行。我错过了什么。
这些是我尝试过的方法(都返回401):
方法一:
var request = WebRequest.Create("http://api.fos.be/person/login.json?login=200100593&password=pass");
request.Headers["Authorization"] = "Basic MYAUTHTOKEN";
var response = await request.GetResponseAsync();
方法二:
const string uri = "http://api.fos.be/person/login.json?login=200100593&password=pass";
var httpClientHandler = new HttpClientHandler();
httpClientHandler.Credentials = new System.Net.NetworkCredential("MYUSERNAME", "MYPASSWORD");
using (var client = new HttpClient(httpClientHandler))
{
var result = await client.GetAsync(uri);
Debug.WriteLine(result.Content);
}
方法三:
var client = new RestClient("http://api.fos.be/person/login.json?login=200100593&password=pass");
var request = new RestRequest(Method.GET);
request.AddHeader("postman-token", "e2f84b21-05ed-2700-799e-295f5470c918");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Basic MYAUTHTOKEN");
IRestResponse response = await client.Execute(request);
Debug.WriteLine(response.Content);
第三种方法是直接从 Postman 生成的代码,那么为什么它可以在那里工作而不是在我的应用程序中?
【问题讨论】:
-
@Aaron 提供的可能是正确的解决方案,同时请确认
username和password是正确的。
标签: c# windows uwp windows-10 windows-10-universal