Tôi đang làm việc trên một chương trình Java triển khai ứng dụng khách HTTP. Tôi thử nghiệm nó gửi yêu cầu đến một máy chủ. Yêu cầu GET, POST và DELETE hoạt động ok. Ví dụ sau khi một yêu cầu POST tôi nhận được một sản lượngNhận "Yêu cầu chiều dài 411" sau yêu cầu PUT từ Máy khách HTTP
Data extracted:
{"status":{"message":"ok"}}
và cơ sở dữ liệu phản ánh những thay đổi được thực hiện.
Sau yêu cầu PUT, tuy nhiên tôi nhận được đánh dấu html sau của trang web cho biết có lỗi.
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>
và không có thay đổi trong cơ sở dữ liệu.
Tôi nhận thấy rằng điều này có thể có liên quan đến tiêu đề Content-Length, nhưng tôi không chắc chắn. Sau khi cố gắng thêm tiêu đề này chương trình của tôi chờ một phút và sau đó ném một ngoại lệ thông báo rằng nó không thể xử lý phản hồi của máy chủ.
Tôi cũng có thể cung cấp bất kỳ mã hoặc theo dõi ngăn xếp nào nếu cần.
Vì vậy, 'setHeader (" Content-Length "," "+ file.length())' resp. 'setContentLength ((int) file.length());' hoặc như vậy. –
Tôi không muốn tải tệp lên. Chỉ cần cố gắng chuyển một URL với một loạt các tham số viên để cập nhật cơ sở dữ liệu –
Độ dài nội dung 0 như @Sachin đúng nói. –