Всем привет!
Есть такой код:
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import time
import urllib.request
url = 'https://www.multitran.com/m.exe?s=working%20documentation&l1=1&l2=2&SHL=2'
start = time.time()
code = urllib.request.urlopen(url,data=None,timeout=6).read()
delta = float(time.time()-start)
mes = 'The operation has taken {} s.'.format(delta)
print(mes)
У меня уже есть готовая программа, которая работает аналогичным образом, и внезапно стали появляться лаги. Выяснилось, что проблема с timeout. Если поставить timeout в 1с, будет завершаться за 1с, 3с - за 3с, 30с - за 21с. До этого timeout работал как ему и положено - отдавал результат максимально быстро, а при таймауте прекращал попытки через timeout секунд. Сейчас же, грубо говоря, сколько timeout поставишь, столько и будешь ждать.
Кто-нибудь знает, в чем дело?