我正在构建Windows 8.1应用程序并使用Windows.Web.HTTP.HTTPClient API与自定义SSO登录服务进行通信。它从HTTP重定向到HTTP。它与System.Net.HTTP一起工作正常。然而,HTTPClient API使用Windows.Web.HTTP.HTTPClient API提供异常。
我收到异常 - “无法找到与此错误代码关联的文本。\ r \ n \ r \ n重定向请求会将安全更改为非安全连接\ r \ n”
代码段
var baseFilter = new HttpBaseProtocolFilter();
baseFilter.AllowAutoRedirect = true;
var httpClient = new HttpClient(baseFilter)
serverURI = new Uri("https://sso.rumba.int.pearsoncmg.com/sso/loginService?service=http://www.google.com?authservice=rumbasso&username=may23_rumba_edu1&password=pass&gateway=true");
HttpResponseMessage response = await httpClient.GetAsync(serverURI);
请告知我可以采取哪些措施来解决此问题。
答案 0 :(得分:1)
作为一种解决方法,您可以禁用自动重定向并手动执行重定向。
var filter = new HttpBaseProtocolFilter();
filter.AllowAutoRedirect = false;
var client = new HttpClient(filter);
var response = await client.GetAsync("the url");
var location = response.Headers["location"];
response = await client.GetAsync(new Uri(location)).AsTask(cancellationToken, progress);
return await response.Content.ReadAsBufferAsync();
希望它有所帮助, 如果您找到了更智能的解决方案,请告诉我。
阿尔瓦罗。