Мне нужен твой совет.Я устанавливаю соединение с WMS (Web Map Service).Если соединение установлено, WMS добавляется для рисования в окне matplot.В большинстве случаев изображение из WMS отображается правильно.Однако бывают случаи, когда изображение из WMS загружается слишком долго, что приводит к ошибкам (которые я прикрепил ниже).Обычно это ошибка TimeOut.
Я хотел бы привести мой код в форму, в которой в момент превышения времени TimeOut изображение из WMS перестает загружаться.Я хочу избежать повторного запроса изображения.
Для этой цели я бы хотел, кроме TimeError.К сожалению, я не могу.Конечно, я пробовал метод
, за исключением:
(без указания ошибок), но он не работает.Приведенный ниже код также не работает.
try:
resp = requests.get('http://mapy.geoportal.gov.pl/wss/service/img/guest/ORTO/MapServer/WMSServer')
odpowiedz_wms = resp.status_code except:
resp.status_code = 0 if resp.status_code == 200:
wms = ax.add_wms(wms='http://mapy.geoportal.gov.pl/wss/service/img/guest/ORTO/MapServer/WMSServer', layers=['Raster'])
try:
plt.draw()
except (requests.exceptions.RequestException,socket.timeout,timeout, exceptions.ConnectionError,ReadTimeout, TimeoutError, exceptions.Timeout,exceptions.ReadTimeoutError,ReadTimeoutError,exceptions.ConnectTimeout, exceptions.ReadTimeout, requests.exceptions.ReadTimeout, urllib3.exceptions.ReadTimeoutError, socket.timeout) as e:
wms.remove()
plt.draw()
Исключение при обратном вызове Tkinter (последний вызов последним): (...)
Файл "C:\ Python35 \ lib \ socket.py ", строка 575, в readinto возвращает self._sock.recv_into (b) socket.timeout: timed out
Во время обработки вышеуказанного исключения произошло другое исключение:
Traceback (последний вызов был последним): (...) Файл "C: \ Python35 \ lib \ site-packages \ urllib3 \ connectionpool.py", строка 306, в _raise_timeout поднять ReadTimeoutError (self, url, "Read)Тайм-аут. (чтение тайм-аута =% s) "% timeout_value) urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool (host = 'mapy.geoportal.gov.pl', port = 80): чтение тайм-аута.(read timeout = 30)
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний вызов был последним): (...) r = adapter.send (запрос,** kwargs) Файл "C: \ Python35 \ lib \ site-packages \ запросы \ adapters.py", строка 526, в запросе на повышение. ReadTimeout (e, request = request) запросы..geoportal.gov.pl ', порт = 80): тайм-аут чтения.(время ожидания = 30)