Errno 10060: страница не загружается по запросу POST - PullRequest
0 голосов
/ 30 апреля 2019

У меня проблема, как говорится в заголовках вопросов. В основном то, что я сейчас пытаюсь сделать, это отладка проблемы POST. Там, где указан шаблон CSV-файла, пользователь заполняет ячейки данными. А на веб-странице пользователю предлагается загрузить файл, нажать «Отправить» и вернуть сообщение об успехе или ошибке в зависимости от того, были ли введены данные в базу данных. После исправления некоторых незначительных проблем с форматированием данных в CSV-файле я обнаружил ошибку 10060, по-видимому, в модуле Socket:

Файл "C: \ Users \ user \ AppData \ Local \ Programs \ Python \ Python27 \ lib \ socket.py", строка 575, в create_connection

повысить ошибку

ошибка: [Errno 10060] Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить

Общий код, вызывающий эту проблему:

def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
                  source_address=None):
"""Connect to *address* and return the socket object.

Convenience function.  Connect to *address* (a 2-tuple ``(host,
port)``) and return the socket object.  Passing the optional
*timeout* parameter will set the timeout on the socket instance
before attempting to connect.  If no *timeout* is supplied, the
global default timeout setting returned by :func:`getdefaulttimeout`
is used.  If *source_address* is set it must be a tuple of (host, port)
for the socket to bind as a source address before making the connection.
A host of '' or port 0 tells the OS to use the default.
"""

host, port = address
err = None
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
    af, socktype, proto, canonname, sa = res
    sock = None
    try:
        sock = socket(af, socktype, proto)
        if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
            sock.settimeout(timeout)
        if source_address:
            sock.bind(source_address)
        sock.connect(sa)
        return sock

    except error as _:
        err = _
        if sock is not None:
            sock.close()

if err is not None:
    raise err
else:
    raise error("getaddrinfo returns an empty list")

Я тестирую код на локальном сервере разработки, где я работаю на Django v1.8 и Python v2.7, поскольку большая часть кода уже запрограммирована для этих версий 2 года назад. Все остальные страницы загружаются правильно, так как кажется, что происходит сбой только при отправке запроса POST для отправки данных файла CSV. Я не слишком знаком с сокетом, поэтому мне было интересно, если кто-нибудь даст мне понять, почему эта ошибка произойдет. Я отлаживал код импорта данных с помощью исключений, поэтому, если бы какая-либо ошибка произошла на стороне POST, консоль вывела бы то, что пошло не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...