当使用安全URL的HTTPRESPONSEMESSAGE时,为什么我会获得401的未经授权



我有这个专有代码,我正在为工作而努力。我正在为其编写测试用例,因为代码已更改并且测试用例现在被打破。它是C#Web API MVC .NET框架应用

我有一种方法,可以输入字符串URL然后该代码执行

HttpResponseMessage response = await Client.GetAsync(url).ConfigureAwait(true);
System.Uri uri = new System.Uri(url); // convert string to Uri
var cert = System.Net.ServicePointManager.FindServicePoint(uri).Certificate;
response.EnsureSuccessStatusCode();

当它到达response.EnsureSuccessStatusCode()时,它给出了401个未经授权,然后引发了例外,不允许我的测试通过当我使用http://www.google.com尝试同一件事时,这不是https它给出了200。

我需要做什么才能让HTTPS给出200?它需要用户名和密码凭据还是某种其他代币?

另外,当我使用REST客户端DHC与安全的HTTPS链接进行测试时,该链接在上面失败了。但是,我不得不刷新载体令牌,以便给它200。如果我使用了一个旧的令牌它将给出401。

此外,当我测试诸如https://www.facebook.com(这不是我要在应用程序中测试的一个,只需进行故障排除(时,它的工作原理,我的应用程序上面的申请并安息了DHC,即使有一个旧的携带者令牌。

如果您想向Web API提出CORS请求,则需要配置它以接受交叉起源请求。如果您不配置Web API接受交叉原点请求,则在调用时会丢弃这些类型的错误。请记住,对于Web API访问,https://www.domain.so和http://www.domain.so完全是差异客户端。

查看此链接:

https://learn.microsoft.com/en-us/aspnet/web-api/web-api/overview/security/enabling-cross-cross-origin-requests-in-requests-in-web-api

最新更新