0017-00000704

问题描述

请求超时,指定了Content-Length,但没有发送消息体,或者发送的消息体小于指定的大小。

问题原因

您在发送请求时有指定Content-Length请求头,但是服务端实际收到的文件大小小于这个值。此种情况下服务器会一直等待,直至请求超时。

问题示例

PUT /test.txt HTTP/1.1
Host: test.oss-cn-zhangjiakou.aliyuncs.com
User-Agent: aliyun-sdk-python/2.6.0(Windows/7/AMD64;3.7.0)
Accept: */*
Connection: keep-alive
Content-Length:100
Content-Type: text/plain
date: Tue, 04 Dec 2018 15:56:37 GMT
authorization: OSS qn6qrrqxo2oawuk53otf****:kZoYNv66bsmc10+dcGKw5x2P****
Transfer-Encoding: chunked

示例中设置的Content-Length100,如果发送的文件小于Content-Length值,或没有发送请求体,都会导致该错误。

解决方案

  1. 确认网络环境正常。

  2. 确认Content-Length请求头与请求体大小一致。

  3. 推荐采用SDK的方式发起请求。