具有NetworkCredential的HttpClient为.net框架返回.net core 200的401

时间:2017-07-31 13:30:17

标签: c# .net .net-core

我有这段代码:

using System.Net;
using System.Net.Http;
    class Program
    {
        static void Main(string[] args)
        {
            NetworkCredential credential = new NetworkCredential("user", "password", "domain");

            using (HttpClientHandler handler = new HttpClientHandler() { Credentials = credential })
            {
                using (HttpClient client = new HttpClient(handler))
                {
                    string authUrl = "https://example.net";
                    var authresponse = client.GetAsync(authUrl).Result;
                }
            }
        }
    }

(网址和凭据是匿名的)

在.net框架控制台中,我得到了响应200。

在.net核心1.1中我收到回复401。

我猜这是.net核心和.net框架之间的实现差异。任何想法如何解决这个问题?或者在哪里报告此错误/功能?

由于

1 个答案:

答案 0 :(得分:0)

我相信您应该能够使用明确指定您正在使用NTML方案的CredentialCache。显然,在最新的.netcore版本

中这不是必需的

https://github.com/dotnet/corefx/issues/9533