Я в настоящее время использую WebClient
, чтобы открыть несколько сайтов, но через некоторое время я начинаю получать сообщения Error 403
.
Я предполагаю, что это потому, что я часто нажимаю на их серверы. Я предполагаю, что все, что мне нужно сделать, это добавить промежуток времени между запросами Thread.Sleep
.с использованием WebClient и получения ошибки 403
Поскольку мне приходится делать это много раз, есть предложение о том, как справиться с проблемой дросселирования, чтобы не потребовалось огромное количество времени?
Например, через 3 секунды между запросами в конечном итоге мне понадобится 3 часа.
Вопрос в том, является ли Thread.Sleep
действительно правильным решением для этого? и если да, то для чего это хорошее время?
В качестве дополнительной заметки я также использовал HttpWebRequest
и столкнулся с той же проблемой. Я до сих пор использовать его в других кодовых проектах и технически надеюсь использовать то же решение (или близко к нему) для этих других кодов проектов использования HttpWebRequest
Вы выполняете ваши запросы в последовательности? – esskar
@esskar в настоящее время да, я. – shadonar
Рассматривали ли вы чередование своих запросов, я имею в виду: учитывая, что на k сайтах вы должны открывать каждые T секунд, вы всегда открываете их в одной последовательности, в зависимости от того, как долго каждая операция «открыть» может занять некоторое время между Запросы. Будь то достаточно, чтобы избежать ошибки, о которой вы сообщали, это совсем другое дело. –