【发布时间】:2013-02-27 19:55:31
【问题描述】:
我正在尝试使用 POST 和 C#(或 VB)登录到一个站点(不能提供 URL,它只是 Intranet)。 我收到以下错误:
此系统需要使用 HTTP cookie 来验证授权 信息。我们的系统检测到您的浏览器已禁用 HTTP cookie,或者不支持它们。请参考帮助页面 在您的浏览器中获取有关如何正确配置的更多信息 用于此系统的浏览器。
我使用以下代码:
var cookies = new CookieContainer();
ServicePointManager.Expect100Continue = false;
var request = (HttpWebRequest)WebRequest.Create("http://.......");
request.CookieContainer = cookies;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
using (var requestStream = request.GetRequestStream())
using (var writer = new StreamWriter(requestStream))
{
writer.Write("user=XX&pass=XX");
}
using (var responseStream = request.GetResponse().GetResponseStream())
using (var reader = new StreamReader(responseStream))
{
var result = reader.ReadToEnd();
Console.WriteLine(result);
}
我该如何解决这个问题?
【问题讨论】:
-
您需要将 cookie 从登录请求传输到所有后续 HTTP 请求,如我链接到的问题所示。