繁体   English   中英

C#HttpWebRequest响应错误(401)

[英]C# HttpWebRequest response error (401)

如果我看起来好像在做蠢事,请原谅。 我曾尝试浏览其他堆栈溢出问题以找到问题的答案,但似乎什么也没找到。

我正在开发一个dotnet核心MVC应用程序,并希望从远程服务器返回一些数据。 我正在使用HttpWebRequest类。

在Fiddler中,我使用作曲家执行了以下操作。

在此处输入图片说明

如您所见,它是一个简单的GET请求,在标头中传递了两个cookie。

这样效果很好,可以让我得到我真正需要的东西。

然后,我在dotnet世界中编写我的请求,如下所示:

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

 request.CookieContainer = new CookieContainer();

 request.CookieContainer.Add(new Cookie("name", "value", "/", "localhost"));

(出于问题目的,未包括第二个cookie)

然后,我致电:

var httpResponse = (HttpWebResponse)request.GetResponse();

却收到“远程服务器返回错误:(401)未经授权”

有任何想法我在这里做错了吗? 我尝试添加以下代码行以进行测试,但还是没有运气。

request.ServerCertificateValidationCallback = delegate { return true; };

所有答案表示赞赏。 另外,正如我提到的,我不是专家,所以我可以做点愚蠢的事情!

詹姆士

我认为您的请求默认为POST,但是您的Fiddler示例正在执行GET。

尝试添加:

            request.Method = "GET";
            request.ContentType = "text/xml; encoding='utf-8'";

Cookie构造函数中,您将Cookie的域设置为“ localhost”,这意味着它将仅传递给对localhost域的请求。 应该将其设置为您实际向其发送请求的域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM