我正在构建一个 Web API 来与 MYOB 网站和网站内容进行通信。通过生成的包含客户端 ID 和密钥的 URL,我可以打开登录页面。成功登录后,我通过电子邮件收到一个安全代码,我必须在新的身份验证页面中输入该代码。如果代码正确,那么我将被重定向到一个页面,该页面为我提供了访问站点内容的代码。我已经使用System.Diagnostics.Process.Start(redirectUrl);它打开登录页面,我可以手动完成所有过程。但是我需要我的代码来处理所有的过程。所以我使用 HttpClient 如下:
public static Task<string> GetCode(string url)
{
try
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("text/plain"));
HttpResponseMessage response = client.GetAsync("authorize").Result;
return response.Content.ReadAsStringAsync();
}
catch (Exception)
{
return null;
}
}
该代码仅返回 Not found 错误。