2016-08-05 6 views
0

클라이언트 응용 프로그램을 개발하려면 워크 시트와 데이터를 읽고 수정해야합니다 (Google Sheets). 나는 아래의 문제에 직면하고있다 :API를 사용하여 Google 스프레드 시트에서 UnknownHostException 오류를 해결하는 방법은 무엇입니까?

SpreadsheetService service = new SpreadsheetService("sheet1"); 
String sheetUrl = "https://spreadsheets.google.com/feeds/list/1XP3KQTboWCArbvH99XYEGsVOldc97NqFzKD MiEepXRA/default/public/values"; //Sheet url    
URL url = new URL(sheetUrl); // Get Feed of Spreadsheet url 
ListFeed lf = service.getFeed(url, ListFeed.class); //Error statement 

문제 :

java.net.UnknownHostException : spreadsheets.google.com를 java.net.AbstractPlainSocketImpl.connect (알 수없는 소스)에서 자바에서. net.PlainSocketImpl.connect (알 수없는 소스)에서 에서 java.net.SocksSocketImpl.connect (알 수없는 소스) 에서 java.net.Socket.connect (알 수없는 소스) sun.security.ssl.SSLSocketImpl.connect (알 수없는 소스) at sun.security.ssl.BaseSSLSocketImpl.connect (알 수없는 S ource) at sun.net.www.http.HttpClient.openServer (알 수없는 출처) sun.net.www.http.HttpClient.openServer (알 수없는 출처) at sun.net.NetworkClient.doConnect (알 수없는 출처) at sun.net.www.protocol.https.HttpsClient (알 수없는 출처) sun.net.www.protocol.https.HttpsClient.New (알 수없는 출처) sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection. getNewHttpClient 일에서 sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect에서 sun.net.www.protocol.http.HttpURLConnection.plainConnect (알 소스) (알 소스)에서 (알 소스). net.www.protocol.https.HttpsURLConnectionImpl.conn com.google.gdata.client.http.GoogleGDataRequest.execute에서 com.google.gdata.client.http.HttpGDataRequest.execute (HttpGDataRequest.java:503) (GoogleGDataRequest.java:535에 요법 (알 소스)) at com.google.gdata.client.Service.getFeed (Service.java:1135) com.google.gdata.client.Service.getFeed (Service.java:998) com.google.gdata.client test_project.test_demo.main에서 com.google.gdata.client.Service.getFeed (Service.java:1017)에서 .GoogleService.getFeed (GoogleService.java:631) (test_demo.java:35)

+0

알 수없는 호스트는 일반적으로 URL이 잘못되었다는 것을 의미합니다 ... 그게 단지 sheets.google.com이나 다른 것이 아니라고 확신합니까? –

+0

중복이 아닐 수도 있습니다. 귀하의 프로젝트 자바 7 또는 8인가요? java 8의 경우 기본 appengine-web.xml 설정은 청구가 사용 설정되지 않은 경우 해당 예외를 발생시킬 수 있습니다. url-stream-handler를 https://cloud.google.com/appengine/docs/standard/java/config/appref에서 확인하십시오. –

답변

0

명시된 바와 같이 here, UnknownHostException은 장치가 호스트 이름을 확인할 수 없음을 의미합니다. 호스트 이름을 사용하여 원격 호스트에 연결하려고 시도하지만 해당 호스트의 IP 주소를 확인할 수없는 경우에 나타납니다. 이 blog에서 Socket (또는 UnknownHostException을 던지는 다른 메서드)의 입력을 확인하고 해당 소켓이 유효한지 확인해야합니다. 올바른 호스트 이름의 여부를 모르는 경우 터미널을 실행하고 nslookup 명령을 사용하여 DNS 서버가 호스트 이름을 IP 주소로 성공적으로 확인할 수 있는지 확인할 수 있습니다.

그래도 작동하지 않으면 호스트 이름이 올바른지 확인한 다음 DNS 캐시를 새로 고쳐야합니다. 그래도 작동하지 않으면 다른 DNS 서버를 사용해보십시오. 예를 들어 Google Public DNS은 아주 좋은 대안입니다.

이 체크 박스는 link입니다. 희망이 도움이!

관련 문제