Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP响应411所需长度,HTTP客户端4.0.1 Android_Android_Http_Httpclient_Google Reader - Fatal编程技术网

HTTP响应411所需长度,HTTP客户端4.0.1 Android

HTTP响应411所需长度,HTTP客户端4.0.1 Android,android,http,httpclient,google-reader,Android,Http,Httpclient,Google Reader,我向GoogleReaderAPI发送了一个http请求,得到了一个异常的响应代码。在文档之后,我请求了一个身份验证代码,并将其包含在每个请求的标题中。在执行登录并获得身份验证代码后,我尝试访问此url,它是文档的一部分: 当我发送请求时,我得到一个411状态码,它的意思是“需要长度”。我发现,长度应该是消息体的长度,以八位字节为单位。此请求中没有消息正文。只有一个标题,POST参数i=“item id”和URL本身。我尝试将“Content Length”标题设置为“0”,也设置为“-1”,

我向GoogleReaderAPI发送了一个http请求,得到了一个异常的响应代码。在文档之后,我请求了一个身份验证代码,并将其包含在每个请求的标题中。在执行登录并获得身份验证代码后,我尝试访问此url,它是文档的一部分:

当我发送请求时,我得到一个411状态码,它的意思是“需要长度”。我发现,长度应该是消息体的长度,以八位字节为单位。此请求中没有消息正文。只有一个标题,POST参数i=“item id”和URL本身。我尝试将“Content Length”标题设置为“0”,也设置为“-1”,但都没有效果

真正有趣的是,在谷歌改变授权程序之前,同样的代码运行良好。很明显,他们改变了其他一些东西


因此,我的问题是究竟什么会导致411响应代码,以及如何防止它?

此错误仅在POST和PUT请求类型中发生,因为这两种类型(某种程度上)希望有一个包含请求参数(纯文本以及附件)的请求正文

然而,正如文档所示,这在很大程度上是一个过时的值,实际上web服务应该在不依赖内容长度的情况下处理请求

所以这不是请求发送者的问题,而是(我可以说)服务端的一个bug


不过,将内容长度(注意适当的大写)请求头设置为0应该是解决办法。

对于
GET
请求,我得到了
错误:411
。我正在请求从Python脚本到django服务器的服务器。所以,这不仅仅是关于
POST
PUT