我有这个专有代码,我正在为我的工作而努力。 我正在为它编写测试用例,因为代码已经更改,测试用例现在已经破坏了。 它是一个C#web Api MVC .Net Framework应用程序
我有一个输入字符串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一个未授权的,然后抛出异常,不允许我的测试通过
当我尝试使用不是https的http://www.google.com时,同样的事情
它给出了200.所以安全事情正在发生的事情
要让https获得200分,我需要做些什么?它是否需要用户名和密码凭据或某种其他某种令牌?
另外,当我使用Rest Client DHC测试它时,安全的https链接失败了,它给了我200.但是,我必须刷新持有者令牌才能得到200.如果我使用旧令牌它会给401。
进一步说,当我测试一个不同的链接,例如https://www.facebook.com(我不想在我的应用程序中测试,只是故障排除)这是安全的,它在我上面的应用程序中给我200个休息客户端DHC即使使用旧的承载令牌。
答案 0 :(得分:0)
如果您尝试向Web API发出CORS请求,则需要将其配置为接受跨源请求。如果您没有将web api配置为接受跨源请求,则在调用它时会抛出这些类型的错误。请记住,对于web api访问,https://www.domain.so和http://www.domain.so完全是差异客户端。
请看这个链接: