WebResponse возвращает ошибку 401 в цикле, но работает в каждом конкретном случае. Есть идеи?
Я сталкиваюсь с ситуацией, когда я получаю (401) не авторизованный ответ. Тем не менее, когда я тестирую каждый элемент построчно, он работает нормально. Поскольку эти ошибки возникают в цикле, я считаю, что соединение все еще открыто, но я не знаю, как его закрыть.
Я редактирую URL по соображениям безопасности.
// 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 - переменные, извлекаемые из базы данных. Когда я вручную вводил несколько и делал по одному, все они работали очень хорошо. Тем не менее, запуск их через цикл, кажется, не работает после первого.
Я также попытался добавить webrequest.Abort() в оператор finally, но безуспешно. Любая помощь приветствуется. Еще одна вещь, которую я попробовал нам использовать оператор, но все же не повезло.