WebResponse在循环中返回401错误,但在逐个案例中工作。有任何想法吗?

时间:2016-05-17 20:23:17

标签: c# stream httpwebrequest webresponse

我遇到的情况是我收到了(401)未经授权的回复。但是,当我逐行测试每个项目时,它工作正常。由于在抛出这些错误时它处于循环中,我相信连接仍然是开放的,但我不确定如何关闭它。

出于安全原因,我正在编辑网址。

        // build variables
        var url = "https://api.com/accounts/" + aid + "/summary";

        // authentication, contenttype, etc. per API
        HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
        webrequest.Method = "GET";
        webrequest.ContentType = "application/json";
        webrequest.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0";
        webrequest.Headers.Add("Authorization", userAuth);
        webrequest.KeepAlive = false;

        try
        {
            // Setup download
            WebResponse response = webrequest.GetResponse();
            Stream datastream = response.GetResponseStream();
            StreamReader sr = new StreamReader(datastream);

            // read data
            string json = sr.ReadToEnd();
            string alljson = json;

            sr.Close();
            datastream.Close();
            response.Close();
         }

aid和userAuth是从数据库中提取的变量。当我手动注射几个并一次做一个时,它们都工作得很好。但是,通过循环运行它们似乎不会超出第一个。

我也尝试在finally语句中添加webrequest.Abort(),但没有运气。任何帮助赞赏。另一件事我尝试过使用声明,但仍然没有运气。

0 个答案:

没有答案