Java Servlet của tôi đang sử dụng API đồ thị Facebook thông qua phương thức URLFetchService.fetch(HTTPRequest request)
. Điều này đã làm việc tốt trong nhiều tuần nhưng ngày nay độ dài của truy vấn tôi đã thử nghiệm dài hơn nhiều so với những truy vấn trước đó - khoảng 2300 ký tự. Truy vấn này dẫn đến lỗi MalformedURLException : Invalid URL
bị ném.Tại sao có giới hạn phía máy chủ về độ dài của URL?
Hai giờ sau, tôi phát hiện ra nguyên nhân gốc là một Máy ứng dụng có số hard limit on the length of a URL đang được tải xuống (ví dụ: từ ứng dụng GAE của bạn đến một nơi khác trên web). Hơn nữa, vấn đề này chỉ thể hiện trên máy chủ sản xuất, do đó bạn sẽ không nhận thức được nó cho đến khi bạn phát trực tiếp.
Tại sao lại như vậy? Ý tôi là, với sự gia tăng của các dịch vụ JSON và REST, tôi có thể thấy trước nhiều người hình thành các truy vấn sẽ dài hơn độ dài tối đa hiện tại khi họ thực hiện các cuộc gọi API khác nhau đến các dịch vụ khác nhau.
Câu hỏi: Điều này có được 'cố định' không? Có một giải pháp đơn giản?
Môi trường cài đặt: Java App Engine SDK 1.6.1
Cảm ơn Marvin. Tôi đã hy vọng sẽ có một sửa chữa đơn giản nhưng nó không giống như nó. Dù bằng cách nào, tôi đã mở yêu cầu tính năng sau: http://code.google.com/p/googleappengine/issues/detail?id=7053&thanks=7053&ts=1330713817 –
Mọi cách giải quyết đã biết chưa? – Daniel