몇 가지 특수 문자 url이 Jsoup.connect (문자열)에 연결해야하지만 오류 500이 발생하여 페이지를로드하지 못합니다. URL에 대한 것만은 아니지만 JSoup.connect에서 사용하는 인코딩과 관련이 있다고 생각합니다.Jsoup.connect (문자열) 인코딩 문제
어쨌든, 링크가 다음과 같은 특수 문자를 허용하도록하려면 어떻게해야합니까? Æ Ø Å è 등, 내가 받고 있어요는 예외입니다 :
는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)
이 오류를 생성 된 코드는 다음과 같습니다
다음 placesURL 문자열이Document gDoc = Jsoup.connect(placesURL).get();
0
https://maps.googleapis.com/maps/api/place/textsearch/xml?query=%s&sensor=false&key=XX&radius=10
누구든지이 문제를 해결할 생각이 있습니까?
감사합니다.
% s는 (String.Format을 통해) 쿼리가 처리하는 문자열이며 URLEncoder.encode (stringToBeEncoded, "UTF-8")를 사용하여 잘못된 URL을 제공합니다. java.lang.IllegalArgumentException : 형식이 잘못된 URL : https % 3A % 2F % 2Fmaps.googleapis.com % 2Fmaps % 2Fapi % 2Fplace % 2Fextsearch % 2Fxml % 3Fquery % 3D1001 % 2520Natt % 2C % 2520Nort % 26sensor % 3Dfalse % 26key % lkg % 26radius % 3D10 – user1677631
이 경우 URLEncoder는 문자열의 "쿼리"부분에서만 사용합니다 ... 예 012oux.connect (placesURL.format (URLEncoder.encode (queryString, "UTF-8")); –