Загрузка файла IIS зависает/тайм-ауты - sc-win32-status = 64

s = r'abc123d, hello 3.1415926, this is my book'
print re.findall(r'-?[0-9]+(?:\.[0-9]*)?|-?\.[0-9]+',s)

Вам не нужно escape дважды, когда вы используете raw mode.

Выход: ['123', '3.1415926']

Также тип возврата будет списком strings .Если вы хотите, чтобы возвращаемый тип, как integers и floats, использовал map

import re,ast
s = r'abc123d, hello 3.1415926, this is my book'
print map(ast.literal_eval,re.findall(r'-?[0-9]+(?:\.[0-9]*)?|-?\.[0-9]+',s))

Выход: [123, 3.1415926]

23
задан Sean Sexton 16 December 2008 в 18:06
поделиться

5 ответов

Возможно, ваша проблема была связана с сетевым подключением низкого уровня с провайдером, как вы предположили в своем ответном комментарии. Я испытываю похожую проблему с IIS и некоторыми загадочными 200 0 64 строками, которые появляются в файле журнала, и именно так я нашел этот пост. Для справки, это мое понимание sc-win32-status = 64; Я надеюсь, что кто-то может исправить меня, если я ошибаюсь.

  • sc-win32-status 64 означает «Указанное имя сети больше не доступно».
  • После того, как IIS отправил окончательный ответ клиенту, он ожидает сообщения ACK. от клиента.
  • Иногда клиенты сбрасывают соединение, а не отправляют окончательный ACK обратно на сервер. Это не грациозное закрытие соединения, поэтому IIS регистрирует код «64», чтобы указать прерывание.
  • Многие клиенты сбросят соединение, когда закончат с ним, чтобы освободить сокет вместо того, чтобы оставлять его в TIME_WAIT / CLOSE_WAIT.
  • Прокси могут иметь тенденцию делать это чаще, чем отдельные клиенты.
22
ответ дан wweicker 29 November 2019 в 02:39
поделиться

Потратил три дня на это. Это был тайм-аут, который был установлен на 4 секунды (запрос curl php). Решением было увеличить настройку тайм-аута:

//curl_setopt($ch, CURLOPT_TIMEOUT, 4); // times out after 4s
curl_setopt($ch, CURLOPT_TIMEOUT, 60); // times out after 60s
1
ответ дан Emiel 29 November 2019 в 02:39
поделиться

Необходимо будет использовать wireshare или монитор сети для сбора большего количества данных по этой проблеме. Меня думают.

0
ответ дан Igal Serban 29 November 2019 в 02:39
поделиться

Я предлагаю вам поместить Fiddler между вашим сервером и клиентом загрузки. Это должно выявить различия между Firefox и другими пользователями.

0
ответ дан mkoeller 29 November 2019 в 02:39
поделиться

Проверьте заголовки с сервера, особенно тип контента и длину контента, возможно, что ваши клиенты не распознают формат двоичного файла и зависают при ожидании байтов, которые никогда не приходят, или, возможно, они закрывают базовое TCP-соединение, которое может привести к тому, что IIS зарегистрирует состояние win32 64.

0
ответ дан 29 November 2019 в 02:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: