【问题标题】:Socket Blocked when Reading Huge Content Length in Python URLLIB2在 Python URLLIB2 中读取大量内容长度时套接字被阻止
【发布时间】:2014-06-05 20:38:22
【问题描述】:

我正在使用 Python 来使用返回 JSON 响应的 Web 服务。当响应的内容长度不是那么大时,一切都很顺利。当响应的内容长度非常大时,似乎问题就出现了。

这是我的代码的 sn-p,非常简单:

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

其中 request 是格式正确的 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() 中,就好像套接字被阻塞了一样。

我一直在寻找解决方案,还没有找到。

非常感谢您的帮助。

【问题讨论】:

    标签: python urllib2 python-sockets


    【解决方案1】:

    以块的形式消费响应,例如:

    response.read(1024)
    

    【讨论】:

      【解决方案2】:

      我解决了这个问题。这只是我不知道的服务器参数。上面提到的参数是限制可以通过连接读取的数据量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-03
        • 2019-08-13
        • 1970-01-01
        • 1970-01-01
        • 2018-07-03
        • 1970-01-01
        相关资源
        最近更新 更多