首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python http.client.Incomplete读取(0字节读取)错误

Python http.client.Incomplete读取(0字节读取)错误
EN

Stack Overflow用户
提问于 2017-01-08 11:00:45
回答 2查看 6.1K关注 0票数 5

我已经在论坛上看到了这个错误,并通读了回复,但我仍然不明白它是什么,也不知道如何解决它。我从互联网上从16k个链接中抓取数据,我的脚本从每个链接中抓取类似的信息,并将其写入.csv中,其中一些日期是在此错误之前写入的。

代码语言:javascript
复制
Traceback (most recent call last):
 File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 541, in _get_chunk_left
   chunk_left = self._read_next_chunk_size()
 File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 508, in _read_next_chunk_size
   return int(line, 16)
ValueError: invalid literal for int() with base 16: b''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 558, in _readall_chunked
   chunk_left = self._get_chunk_left()
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 543, in _get_chunk_left
   raise IncompleteRead(b'')
http.client.IncompleteRead: IncompleteRead(0 bytes read)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "MoviesToDb.py", line 91, in <module>
html = r.read()
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 455, in read
   return self._readall_chunked()
File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 565, in _readall_chunked
   raise IncompleteRead(b''.join(value))
http.client.IncompleteRead: IncompleteRead(17891 bytes read)

我想知道:

1)这个错误是什么意思?

2)如何预防?

EN

回答 2

Stack Overflow用户

发布于 2017-03-23 18:03:20

尝试导入:

代码语言:javascript
复制
from http.client import IncompleteRead

并在您的脚本中添加以下内容:

代码语言:javascript
复制
except IncompleteRead:
    # Oh well, reconnect and keep trucking
        continue
票数 2
EN

Stack Overflow用户

发布于 2021-01-08 20:40:03

代码语言:javascript
复制
requests.exceptions.ChunkedEncodingError: (‘Connection broken: IncompleteRead(0 bytes read)’, IncompleteRead(0 bytes read)).

因为http协议的服务器是1.0版本,而python使用的是1.1版本。解决方案是分配客户端的协议版本,如下所示

Python3版本请添加:

代码语言:javascript
复制
> import http.client
> http.client.HTTPConnection._http_vsn = 10
> http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'

Python2版本请添加:

代码语言:javascript
复制
> import http.client
> http.client.HTTPConnection._http_vsn = 10
> http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'

请参阅参考How to deal with "http.client.IncompleteRead: IncompleteRead(0 bytes read)" problem

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41529016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档