UWP中的httpclient问题

时间:2017-01-30 17:52:37

标签: c# uwp httpclient

我正在使用System.Net.Http.HttpClient, 它显示了一些奇怪的错误。下面是我的代码。

public async static Task SearchYoutube(string query, int count)
{
    try
    {
        string format = "https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=20&q=mere&key=XXXXXXXXXXXXXXX&pageToken=";

        HttpClient client = new HttpClient();
        // System.Net.ServicePointManager.EnableDnsRoundRobin = true;
        var html = await client.GetStringAsync(format);
        string ht = html.ToString();
    }
    catch (Exception ex)
    {
        //var resp = ex.Response as HttpWebResponse;
    }
}

Exception- 找不到与此错误代码关联的文本。

安全通道支持发生错误。

我的解决方法 - hrresult- -2147012739(我觉得这个WINNETI_SCHANNEL_ERROR)

下面的

是堆栈跟踪 -

  

at System.Net.Http.HttpClientHandler.d__86.MoveNext()       ---从抛出异常的先前位置开始的堆栈跟踪结束---          在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)          在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)          在System.Net.Http.HttpClient.d__58.MoveNext()

我已采取措施解决问题:

1.关闭防火墙。

2.授予INTERNET OPTIONS(SSL,TLS等)中的所有可用选项

3.您提供的链接,我已经检查过了。

4.Tried Windows.Web.http而不是system.net.http

5.使用处理程序和证书

6.检查功能 - 互联网(客户端),互联网(客户端和服务器),专用网络(即使我检查了所有功能并尝试了相同的结果)

7.我创建了一个控制台应用程序并粘贴了相同的代码,像魅力一样工作。唯一的问题是,它不能在uwp平台上工作,特别是在我的系统中工作(它在我朋友的系统中工作)。

8.在互联网上提供所有可用选项。

2 个答案:

答案 0 :(得分:5)

您可能正在使用Windows Insider版本。由于当前将要修复的安全策略,Google网站无法在Insider版本中工作。您可以在此处阅读Edge的文本:https://mspoweruser.com/cant-access-youtube-gmail-insider-builds-microsoft-working/,但同样适用于HttpClient。

答案 1 :(得分:4)

遗憾的是没有足够的评论来评论;如果您使用的是Windows Insider Fast Ring版本,那么IvanIčin可能会更正,安全连接会出现Google服务器问题。这已在今天(2016年2月1日)发布的最新版Build 15025中得到修复。

发行说明:

  

Windows Insiders不应再无法连接到某些内容   谷歌网站由于实施了新的安全模型   推出以进一步增强用户安全性。