Làm thế nào để gửi không đồng bộ HTTP GET/POST yêu cầu trong java mà không cần chờ/đọc phản ứng? Tôi không muốn sử dụng bất kỳ thư viện của bên thứ ba ..yêu cầu HTTP không đồng bộ trong java
Trả lời
Nếu bạn không quan tâm đến việc đọc các phản ứng ở tất cả bạn chỉ có thể sử dụng để URL.openStream() tạo một kết nối và sau đó ngay lập tức đóng socket (hoặc bỏ qua nó và để cho nó thời gian ra, nếu bạn cảm thấy như là có nghĩa là đến máy chủ). Điều này không hoàn toàn không đồng bộ, nhưng nó sẽ nhanh hơn một chút so với bất kỳ phương pháp nào dựa vào việc tìm nạp và phân tích cú pháp phản hồi của máy chủ.
Điều này tất nhiên có thể được thực hiện không đồng bộ bằng cách giảm các cuộc gọi openStream()
đến một chuỗi khác theo cách thủ công hoặc bằng cách sử dụng các tiện ích có sẵn trong java.util.concurrent
.
java.util.concurrent có thể được sử dụng.
Nếu bạn quan tâm là sử dụng thư viện của bên thứ ba sau đó bạn có thể muốn có một cái nhìn tại
thực sự ...! Cảm ơn @Sandeep Pathak! : D – gumuruh
Tôi khuyên bạn nên sử dụng một cái gì đó như Jetty HttpClient nếu bạn không nhớ thêm các thư viện Jetty vào ứng dụng của mình. Đây là một ví dụ điển hình từ trang wiki của Jetty http://wiki.eclipse.org/Jetty/Tutorial/HttpClient.
từ tài liệu tại liên kết ở trên: "phương thức send() trả về ngay lập tức sau khi gửi trao đổi đến một nhóm luồng để thực thi" - vì vậy, không thực sự không đồng bộ. – kellogs
- 1. Các yêu cầu HTTP không đồng bộ trong PHP
- 2. Thực hiện nhiều yêu cầu HTTP không đồng bộ
- 3. Yêu cầu đồng bộ NSURLConnection từ yêu cầu đồng bộ so với yêu cầu không đồng bộ
- 4. Ví dụ yêu cầu không đồng bộ
- 5. Số lượng ajax đồng bộ, không đồng bộ yêu cầu
- 6. JAVA: http yêu cầu đăng
- 7. nsurlconnection yêu cầu không đồng bộ
- 8. Cách tốt nhất để gửi yêu cầu HTTP GET không đồng bộ trong Android là gì?
- 9. Nhận tiêu đề HTTP trong yêu cầu WebClient không đồng bộ
- 10. Yêu cầu url không đồng bộ bên trong dispatch_async
- 11. Kết nối mô hình yêu cầu/phản hồi http với hàng đợi không đồng bộ
- 12. Android, Java: Yêu cầu POST HTTP
- 13. Ứng dụng HTTP không đồng bộ cho Java
- 14. cách gửi Yêu cầu URL Không đồng bộ?
- 15. Gọi không đồng bộ - Yêu cầu EndInvoke phải không?
- 16. Yêu cầu đồng bộ NSURLConnection trên https
- 17. Đồng bộ hóa ba yêu cầu ajax
- 18. cách bật yêu cầu chế độ không đồng bộ?
- 19. Yêu cầu đồng bộ với Websockets
- 20. python http server, nhiều yêu cầu đồng thời
- 21. Yêu cầu HTTP trong Ubuntu
- 22. Nhận tệp từ yêu cầu http trong java
- 23. Đang đợi nhiều yêu cầu POST không đồng bộ
- 24. Làm thế nào để gửi yêu cầu HTTP trong java?
- 25. không thể mở luồng: Yêu cầu HTTP không thành công! Yêu cầu Xấu HTTP/1.1 400
- 26. Yêu cầu DELETE HTTP
- 27. Các cuộc gọi HTTP không đồng bộ trong Python
- 28. Ví dụ yêu cầu HTTP đồng bộ của iPad/mục tiêu C?
- 29. Mục tiêu-C async http yêu cầu
- 30. URL yêu cầu HTTP có phải là một phần của tiêu đề yêu cầu HTTP không?
URL.openConnection() không gửi yêu cầu HTTP đến máy chủ.đây là mã ** URL url = new URL ("http: // localhost /"); URLConnection myURLConnection = url.openConnection(); myURLConnection.connect(); ** và tôi đã thấy nhật ký truy cập apache và nó không nhận được yêu cầu. – pavan
@pavan - Ah, lỗi của tôi, API để sử dụng thực sự là 'openStream()', không phải 'openConnection()'. 'openConnection()' chuẩn bị một đối tượng kết nối, nhưng không thực sự thiết lập kết nối đến máy chủ. 'openStream()' thiết lập kết nối và trả về 'InputStream' liên kết với nó, sau đó bạn được tự do đọc hoặc đóng hoặc bỏ qua. Tôi sẽ chỉnh sửa câu trả lời của tôi cho phù hợp. – aroth