通过Visual Studio C#代码放置的HttpWebRequest帖子没有突然收到cookie

通过Visual Studio C#代码放置的HttpWebRequest帖子没有突然收到cookie,c#,.net,cookies,httpwebrequest,getresponse,C#,.net,Cookies,Httpwebrequest,Getresponse,我们公司有一个通用的框架,在这个框架中,我们传递用户名、密码、url并取回cookie。它为我工作了很长一段时间,突然它停止了工作。我的队友能够顺利地获得cookie,没有任何问题。下面是我们用来取回cookie的常用函数。请帮我完成故障排除 public static CookieContainer GetAvidAuthCookies(string url, string userName, string password, bool allowAutoRedirect = false) {

我们公司有一个通用的框架,在这个框架中,我们传递用户名、密码、url并取回cookie。它为我工作了很长一段时间,突然它停止了工作。我的队友能够顺利地获得cookie,没有任何问题。下面是我们用来取回cookie的常用函数。请帮我完成故障排除

public static CookieContainer GetAvidAuthCookies(string url, string userName, string password, bool allowAutoRedirect = false)
{ 
         HttpWebRequest req = null;

         HttpWebResponse resp = null;
        
         CookieContainer cookieContainer = new CookieContainer();

        req = (HttpWebRequest) WebRequest.Create(url);
        req.CookieContainer = cookieContainer;
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        //          req.ContentType = "text/xml;charset=UTF-8"; //for SOAP
        req.Timeout = 30000;
        req.AllowAutoRedirect = allowAutoRedirect;           
        req.AllowWriteStreamBuffering = true;
        req.Referer = url;
        //req.Host = "api.avidxchange.net";
        req.Headers["Authorization"] = "Basic " +
                                       Convert.ToBase64String(
                                           System.Text.Encoding.ASCII.GetBytes(userName + ":" + password));
        var request = Common.GetMemoryStream("username=" + userName + "&password=" + password + "&submit=");

        if (request != null)
        {
            req.ContentLength = request.Length;
            Stream sw = req.GetRequestStream();

            byte[] buffer = new byte[1024];

            int bytesRead = 0;
            request.Position = 0;
            while ((bytesRead = request.Read(buffer, 0, buffer.Length)) != 0)
            {
                sw.Write(buffer, 0, bytesRead);
            }
            request.Flush();
            request.Close();
            sw.Flush();
            sw.Close();
        }

        try
        {
            resp = (HttpWebResponse) req.GetResponse();
        }
        catch (WebException we)
        {
            resp = (HttpWebResponse) we.Response;
            Debug.WriteLine("Response:" + we.InnerException + "\r\n" + resp.StatusCode + ":" +
                            new StreamReader(we.Response.GetResponseStream()).ReadToEnd());
            var responseStream = we.Response.GetResponseStream();
            if (responseStream != null) responseStream.Position = 0;
        }
        var rStream = resp.GetResponseStream();
        var responseText = new StreamReader(rStream).ReadToEnd();
        var t = resp.Cookies;
        return cookieContainer;
    }

不确定我的电脑是否有阻止接收Cookie的安全设置。如果是这样,请帮助检查“突然停止工作”的位置。您能花点时间描述一下这是什么意思吗?例如,该操作超时、抛出异常、返回403状态代码等。正在进行GetResponse()调用。然而,responseText也会随着相应的Cookie变空。我过去常常更早地获得cookie,并且能够使用多次收到的cookie运行后续测试。我不知道中间发生了什么,因为我现在没收到,你收到了吗?是200吗?我想你需要弄清楚为什么你得到的是302而不是200。302状态表示您正在被重定向。