Я использую requests
, чтобы получить URL, например:запросы процесс зависает
while True:
try:
rv = requests.get(url, timeout=1)
doSth(rv)
except socket.timeout as e:
print e
except Exception as e:
print e
После он работает на некоторое время, он прекращает работать. Никаких исключений или каких-либо ошибок, так же как и приостановлено. Затем я останавливаю процесс, набрав Ctrl + C с консоли. Он показывает, что процесс ожидает данных:
.............
httplib_response = conn.getresponse(buffering=True) #httplib.py
response.begin() #httplib.py
version, status, reason = self._read_status() #httplib.py
line = self.fp.readline(_MAXLINE + 1) #httplib.py
data = self._sock.recv(self._rbufsize) #socket.py
KeyboardInterrupt
Почему это происходит? Есть ли решение?
Он ждет на сервере отправки данных, и вы ничего не сможете сделать на стороне клиента. Возможно, сервер намеренно дросселирует вас? –
Я так думаю. И я должен снизить частоту запроса данных, верно? Любое другое предложение – bin381
Afait, это ваш единственный вариант. Просто следите за тем, чтобы время ожидания при настройке 'timeout' -' 10ms', скорее всего, не сработает. – nlsdfnbch