Tôi hiện đang viết một ứng dụng java sử dụng HTTP POST để tải lên tệp csv và một vài tham số khác tới máy chủ. Máy chủ tiếp tục trả lại 500 lỗi cho ứng dụng của tôi và tôi muốn xem yêu cầu HTTP trong Fiddler để tôi có thể thấy yêu cầu POST.
Khi tôi chạy Fiddler, nó sẽ không nắm bắt bất kỳ lưu lượng HTTP nào từ ứng dụng Java. Tôi đã viết một yêu cầu GET hoạt động, vì vậy tôi biết tôi có thể giao tiếp với máy chủ, tuy nhiên không có lưu lượng được hiển thị thông qua Fiddler.Fiddler không thu thập các yêu cầu HTTP từ Ứng dụng Java
Trả lời
Bạn chỉ có thể thiết lập Fiddler như HTTP proxy cho ứng dụng của bạn bằng cách thiết lập các thuộc tính
http.proxyHost
-localhost và http.proxyPort
- cho lưu lượng HTTP và https.proxyHost
/https.proxyPort
cho lưu lượng HTTPS. Đối với lưu lượng HTTPS, bạn cũng phải thêm chứng chỉ gốc Fiddler (có thể xuất trong hộp thoại tùy chọn) làm chứng chỉ tin cậy cho ứng dụng của bạn.
Bạn có thể làm như vậy bằng cách thêm các dòng sau vào phần đầu của mã
System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");
của bạn hoặc cài đặt chúng thông qua dòng lệnh khi khởi động Java VM:
java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ...
Máy chủ phát triển mà tôi đang viết chống lại sử dụng chứng chỉ tự ký vì vậy tôi đã viết các lớp để tin tưởng tất cả các chứng chỉ. Tôi đã đặt các đặc tính proxyHost và proxyPort, tuy nhiên tôi vẫn không thấy bất kỳ lưu lượng truy cập nào từ ứng dụng thông qua Fiddler. – Andrew
Tôi có thể làm việc này bằng cách sử dụng https trong các thuộc tính và thay đổi máy chủ cục bộ thành 127.0.0.1. – Andrew
Thay đổi của tôi giúp bạn có thể xem yêu cầu HTTP GET sử dụng HttpURLConnection. Yêu cầu POST đang sử dụng HttpComponents của Apache và tôi không thể thấy lưu lượng truy cập này. – Andrew
Với Jetty HTTP client , giải pháp trước đó không hoạt động. Tuy nhiên, các công trình sau đây:
HttpClient httpClient = new HttpClient();
httpClient.setProxy(new Address("127.0.0.1", 8888));
httpClient.start();
Bạn có biết cách để làm cho nó hoạt động với HTTPS? – Arya
- 1. Thu gọn các gói HTTP cho các yêu cầu GET và POST từ một ứng dụng
- 2. Tại sao Http yêu cầu với Fiddler là nhanh chóng
- 3. Có thuật toán thu thập rác nào đáp ứng các yêu cầu này không?
- 4. Lưu lượng HTTP giữa các ứng dụng asp.net mvc không hiển thị với Fiddler
- 5. Nghi thức đúng đắn cho một trình thu thập dữ liệu http yêu cầu
- 6. JAVA: http yêu cầu đăng
- 7. Cách chụp thư http từ thư viện Yêu cầu Nút bằng Fiddler
- 8. Nghe các yêu cầu HTTP
- 9. Nhận tệp từ yêu cầu http trong java
- 10. Cách biết Yêu cầu HTTP là BOT
- 11. Android, Java: Yêu cầu POST HTTP
- 12. yêu cầu HTTP không đồng bộ trong java
- 13. Java không thu thập bộ nhớ rác
- 14. Chặn các yêu cầu HTTP được gửi từ ứng dụng Android
- 15. Không thể yêu cầu netTcpBinding hiển thị trong Fiddler
- 16. Nhu cầu về khung thu thập trong java là gì?
- 17. Chặn và ghi đè các yêu cầu HTTP từ WebView
- 18. Yêu cầu DELETE HTTP
- 19. Yêu cầu ứng dụng khách HTTP Java với thời gian chờ đã xác định
- 20. C# lưu tệp từ Yêu cầu HTTP
- 21. 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
- 22. Cách hiển thị kích thước của yêu cầu HTTP trong Fiddler?
- 23. Giảm yêu cầu HTTP hay không?
- 24. 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?
- 25. Thùng rác GitHub có thu thập các cam kết lơ lửng được tham chiếu trong các yêu cầu kéo không?
- 26. Git: Yêu cầu HTTP không thành công
- 27. Cách tốt nhất để thu thập các yêu cầu cho một dự án là gì?
- 28. Kiểm tra xem yêu cầu http đến từ ứng dụng Android của tôi
- 29. Hiển thị dấu thời gian của yêu cầu trong Fiddler?
- 30. Bật các yêu cầu Http PUT trên .NET MVC
Có một Java Servlet xử lý bài đăng không? –
bạn có chắc chắn đó không phải là lưu lượng truy cập https không? – matcheek
Không có. Tôi đang sử dụng HTTPComponents của Apache để gọi phương thức tải lên từ API trên máy chủ. – Andrew