С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 4
Регистрация: 18.04.2013
Сообщений: 45
.NET 4.x

C# HttpWebRequest,HttpWebResponse не обновляется ответ после 4 итерации запроса

07.09.2015, 14:26. Показов 770. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У меня такая проблема, делаю запрос в цикле к API сайта, чтобы получить архив ставок по валютам. Дело в том что на 4 итерации данные от сервера перестают обновляться, постоянно одни и те же цифры приходят, хотя запрос уходит с разными параметрами даты. Мне кажется, что дело в HttpWebResponse, что он не разрывает соединение и поэтому накладка получается и данные остаются старыми. Кто сталкивался с такой проблемой?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
                foreach(DateTime item in _periodRatesArray)
                {
                    url = string.Format("http://api.fixer.io/{0}?base=USD", item.ToString("yyy-MM-dd"));
                    HttpWebRequest _request = (HttpWebRequest)WebRequest.Create(url);
 
                    _request.Method = "GET";
                    _request.Accept = "application/json";
 
                    using (HttpWebResponse _response = (HttpWebResponse)_request.GetResponse())
                    {
                        using (StreamReader _reader = new StreamReader(_response.GetResponseStream()))
                        {
                            Dictionary<string, dynamic> _jsonobj = JsonConvert.DeserializeObject<Dictionary<string,dynamic>>(_reader.ReadToEnd());
                            _exchangeRates.Add(new ExchangeRates { RUB = (double)_jsonobj["rates"]["RUB"], EUR = (double)_jsonobj["rates"]["EUR"], GBP = (double)_jsonobj["rates"]["GBP"], JPY = (double)_jsonobj["rates"]["JPY"] });
                            _request.Abort();
                            _response.Close();
                        }
                    }                    
                    
                    
                }
На картинка показано что первых 3 запроса приходят с обновленными данными, а 4 и последующий уже не обновляются
Изображения
   
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2015, 14:26
Ответы с готовыми решениями:

HttpWebRequest и HttpWebResponse
Нужно отправлять асинхронные запросы к VK API. Решил использовать HttpWebRequest и HttpWebResponse, так как большинство рекомендует именно...

HttpWebRequest и HttpWebResponse
Скажите, есть ли какая-нибудь альтернатива HttpWebRequest и HttpWebResponse для работы с хттп, но не используя Internet Explorer? Эти...

HttpWebRequest и HttpWebResponse отладить запрос
Здравствуйте. Сижу на бирже фл.ру и временами делаю несложные заказы, когда студенты активизируются к сессии. Дак вот, попался один, на GET...

1
0 / 0 / 4
Регистрация: 18.04.2013
Сообщений: 45
07.09.2015, 16:25  [ТС]
попробовал закрывать StreamReader, HttpWebResponse не помогло.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
foreach(DateTime item in _periodRatesArray)
                {
 
                    url = string.Format("http://api.fixer.io/{0}?base=USD", item.ToString("yyy-MM-dd"));
                    HttpWebRequest _request = (HttpWebRequest)WebRequest.Create(url);
                    _request.Method = "GET";
                    _request.Accept = "application/json";
                    _request.Credentials = CredentialCache.DefaultCredentials;
                    HttpWebResponse _response = null;
                    StreamReader _reader = null;
                    try
                    {
                        _response = (HttpWebResponse)_request.GetResponse();
                        _reader = new StreamReader(_response.GetResponseStream());
                        Dictionary<string, dynamic> _jsonobj = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(_reader.ReadToEnd());
                        _exchangeRates.Add(new ExchangeRates { RUB = (double)_jsonobj["rates"]["RUB"], EUR = (double)_jsonobj["rates"]["EUR"], GBP = (double)_jsonobj["rates"]["GBP"], JPY = (double)_jsonobj["rates"]["JPY"] });
 
                    }
                    finally
                    {
                        _request.Abort();  
                        if (_reader != null)
                            _reader.Dispose();
                        if (_response != null)
                            _response.Close();
                    }
 
 
                }
Добавлено через 43 минуты
Разобрался в чем проблема
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2015, 16:25
Помогаю со студенческими работами здесь

Работа с классами HttpWebRequest и HttpWebResponse.
Здравствуйте, у меня есть программа, которая с помощью классов HttpWebRequest и HttpWebResponse заходит либо на сайт lib.ru, либо в...

Работа с капчей через HttpWebRequest и HttpWebResponse
Здравствуйте. ситуация следующая - я хочу разобраться с работой HttpWebRequest и HttpWebResponse. Решил выполнить регистрацию на сайте...

HTTPWebResponse и HTTPWebRequest есть ли что то подобное в 1С 8.2?
Приветствую! Подскажите может ли 1C обмениваться данными с какими - нибудь сайтами? То есть посылать запрос и обрабатывать...

Скачка и докачка файла HttpWebRequest/HttpWebResponse
Здравствуйте! Необходимо скачать файл по ссылке и в случае обрыва связи его потом до качать. Я так полагаю необходимо использовать...

Взаимодействие с сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Друзья, помогите пожалуйста найти ИСЧЕРПЫВАЮЩУЮ информацию о максимально разнообразных и подробнейших вариантах использования...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru