Тайм-ауты HttpWebRequest после десяти последовательных запросов

Рабочий стол GNOME для Linux записан в объектно-ориентированном C, и это имеет объектную модель, названную" GObject", который поддерживает свойства, наследование, полиморфизм, а также некоторых других положительных героев как ссылки, обработка событий (названный "сигналами"), ввод времени выполнения, частные данные, и т.д.

Это включает взломы препроцессора, чтобы сделать вещи как преобразование типа вокруг в иерархии классов и т.д. Вот класс в качестве примера, который я записал для GNOME (вещами как gchar являются определения типов):

Источник Класса

Заголовок Класса

Внутренняя часть структура GObject там является целым числом GType, которое используется в качестве магического числа для системы динамического контроля типов GLIB (можно бросить всю структуру к "GType", чтобы найти, что это - тип).

6
задан Bob Mc 29 July 2009 в 19:50
поделиться

2 ответа

Я думаю, что на сайте есть какая-то защита DOS, которая срабатывает, когда на него поступает ряд запросов изнасилования. Вы можете попробовать установить UserAgent в веб-запросе.

3
ответ дан 9 December 2019 в 22:38
поделиться

Сегодня я столкнулся с этой проблемой, и мое решение состояло в том, чтобы гарантировать, что ответ будет всегда закрыт.

Я думаю, что вам нужно ввести response.Close (), прежде чем вы выбросите свое исключение внутри использования.

Using response As HttpWebResponse = DirectCast(request.GetResponse, HttpWebResponse) 
        Using dataStream As Stream = response.GetResponseStream() 
            Using reader As New StreamReader(dataStream) 
                If response.StatusCode <> HttpStatusCode.OK Then 
                    response.Close()  
                    Throw New Exception("Got response status code: " + response.StatusCode) 
                End If 
                result = reader.ReadToEnd() 
            End Using 
        End Using 
        response.Close() 
    End Using
4
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: