[英]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.