Сокет заблокирован при чтении огромной длины содержимого в Python URLLIB2

Я использую Python для использования веб-службы, которая возвращает ответ JSON. Когда длина ответа не так велика, все идет отлично. Похоже, что проблема возникает, когда длина ответа очень велика.

Это фрагмент моего кода, довольно простой:

response = urllib2.urlopen(request)
content = response.read()
response.close()

Где запрос - правильно сформированный urllib2.Request.

Если я печатаю response.info (), это дает мне:

Content-Type: application/json 
Content-Length: 3244749 
Connection: close Date: Thu, 05 Jun 2014 20:24:23 
GMT Server: EESBServer

Мой скрипт навсегда застрял в response.read (), как если бы сокет был заблокирован.

Я искал решение, пока не нашел.

Я был бы очень признателен за помощь.

2 ответа

Решение

Я решил проблему. Это был просто параметр сервера, от которого я не боялся. Упомянутый параметр ограничивал объем данных, которые могли быть прочитаны через соединение.

Потреблять ответ кусками, например:

response.read(1024)
Другие вопросы по тегам