Tôi có một số url ký tự đặc biệt tôi phải kết nối với Jsoup.connect (chuỗi) nhưng không tải được trang (gặp lỗi 500). Tôi không thực sự nhiều vào URL và như vậy nhưng tôi nghĩ rằng nó có liên quan đến mã hóa được sử dụng bởi JSoup.connectCác vấn đề mã hóa Jsoup.connect (string)
Dù sao, tôi sẽ tiếp tục như thế nào để cho phép các liên kết có các ký tự đặc biệt như: Æ Ø Å è vv, ngoại lệ tôi nhận được là:
java.io.IOException: 500 error loading URL https://maps.googleapis.com/maps/api/place/textsearch/xml?query=Averøy%20restaurant%20og%20Pizzeria,%20Norge&sensor=false&key=xx&radius=10
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:414)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:391)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:157)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:146)
at HTMLParser.doParsing(HTMLParser.java:122)
at HTMLParser.initParser(HTMLParser.java:50)
at Main.main(Main.java:15)
mã được sản xuất lỗi này là:
Document gDoc = Jsoup.connect(placesURL).get();
Trường hợp chuỗi placesURL là:
https://maps.googleapis.com/maps/api/place/textsearch/xml?query=%s&sensor=false&key=XX&radius=10
Bất kỳ ai có ý tưởng để giải quyết vấn đề này?
Cảm ơn!
% s là chuỗi truy vấn đang xử lý (qua String.Format) và tôi đã có khóa, Sử dụng URLEncoder.encode (stringToBeEncoded, "UTF-8"), đã cho tôi lỗi URL sai; java.lang.IllegalArgumentException: URL không đúng định dạng: https% 3A% 2F% 2Fmaps.googleapis.com% 2Fmaps% 2Fapi% 2Fplace% 2Ftextsearch% 2Fxml% 3Fquery% 3D1001% 2520Natt% 2C% 2520Norge% 26sensor% 3Dfalse% 26key% lkg% 26radius % 3D10 – user1677631
Trong trường hợp này, bạn sẽ chỉ sử dụng URLEncoder trên phần "truy vấn" của chuỗi ... ví dụ JSoup.connect (placesURL.format (URLEncoder.encode (queryString, "UTF-8")); –