Lim*_*ile 10 java rest http put content-length
我正在开发一个实现HTTP客户端的Java程序.我测试它向服务器发送请求.GET,POST和DELETE请求正常工作.例如,在POST请求之后,我得到一个输出
Data extracted:
{"status":{"message":"ok"}}
Run Code Online (Sandbox Code Playgroud)
并且数据库反映了所做的更改.
在PUT请求之后,我得到以下指示错误的网页的html标记.
Data extracted:
<html>
<head><title>411 Length Required</title></head>
<body bgcolor="white">
<center><h1>411 Length Required</h1></center>
<hr><center>nginx/1.2.6</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因此数据库没有变化.
我发现这可能与Content-Length标题有关,但我不确定.尝试添加此标头后,我的程序等待一分钟然后抛出异常,通知它无法处理服务器响应.
如果需要,我还可以提供任何代码或堆栈跟踪.
Sac*_*hin 17
是的,这个问题与Content-Length.HTTP错误411表示
服务器拒绝接受没有定义Content-Length的请求.如果客户端在请求消息中添加包含消息正文长度的有效Content-Length头字段,则客户端可以重复该请求.
因此,当您RequestBody在POST/PUT方法中发送空值时,您还需要发送Content-Length:0.因此,请在您的请求中添加此标头.我不认为这个标题会导致您添加到Request Object中的问题.
| 归档时间: |
|
| 查看次数: |
32870 次 |
| 最近记录: |