오류를 해결하기 위해 취해야 할 단계는 무엇입니까?
java.net.UnknownHostException: Invalid hostname for server: local
Android 에뮬레이터에 새 가상 호스트 이름을 추가했지만 결과는
java.net.UnknownHostException virtualhostname at
java.net.InetAddress.lookUpHostByName(InetAddress.java:506)
내 PC에 가상 호스트 URL을 입력하면 디스플레이에서 작동합니다. 그런 다음 다시 에뮬레이터에서 실행하고 Logcat을 확인하면 200, 202 또는 오류 코드 번호 인 경우 HTTP 상태를 읽거나 확인할 수 없습니다. 그것은 단순히UnknownHostException
답변
실제로 예외는 “local”이라는 이름의 알려진 서버가 없다는 것입니다. 내 생각에 로컬 컴퓨터에 연결하려고합니다. "localhost"
대신 호스트 이름을 사용하거나 127.0.0.1
또는 또는 ::1
(마지막 이름 은 IPv6)을 사용해보십시오 .
로부터 의 javadoc :
호스트의 IP 주소를 확인할 수 없음을 나타 내기 위해 발생합니다.
127.0.0.1
나 ::1
또는 "localhost"
그 나는 정말 놀랄 것 작동하지 않습니다 그렇다면 항상 루프백 인터페이스해야합니다.
네트워크에 “로컬”이라는 서버가있는 경우 DNS 설정을 검사하거나 호스트 파일에 추가하십시오.
답변
내 Mac에서 동일한 문제가 발생했습니다. $HOSTNAME
터미널에서 내 핑을했을 때 문제를 발견했고 반환했습니다 ping: cannot resolve myHostName: Unknown host
.
해결 방법 :
- 수행
echo $HOSTNAME
터미널에. - 그것이 보여주는 호스트 이름이 무엇이든간에 (말하자
myHostName
) 핑을 시도하십시오 :ping myHostName
. 반환되면 파일에ping: cannot resolve myHostName: Unknown host
항목을 추가/etc/hosts
하십시오. -
해당 편집
/etc/hosts
파일에 대해 다음을 추가하십시오.127.0.0.1 myHostName
도움이 되었기를 바랍니다.
답변
java.net.UnknownHostException : 호스트가 해결되지 않았습니다.
호스트의 IP 주소를 확인할 수 없음을 나타 내기 위해 발생합니다.
이 예외는 유효한 Wi-Fi에 연결되어 있지만 라우터가 인터넷을 수신하지 못하는 경우에도 발생합니다. 이것을 재현하는 것은 매우 쉽습니다.
- 유효한 Wi-Fi에 연결
- 이제 라우터가 연결되어있는 동안 라우터에서 케이블을 제거하십시오.
이 오류가 발생합니다 !!
당신은 정말로 이것을 해결할 수 없습니다. 당신은 사용자에게 우아하게 만 알릴 수 있습니다. (예 : “연결할 수 없음”)
답변
이것은 질문에 국한되지 않지만이 질문은 내가 언급 한을 검색 할 때 나타 났으며 UnknownHostException
다른 곳에서는 수정 사항이 없으므로 여기에 답변을 추가 할 것이라고 생각했습니다.
지속적으로 수신 된 예외는 다음과 같습니다.
java.net.UnknownHostException: google.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
...
유효한 호스트에 어떻게 연결하려고하더라도 터미널에서 인쇄해도 도움이되지 않습니다. 모든 것이 옳았습니다.
해결책
trim()
공백이 포함 된 호스트 문자열을 호출하지 않습니다 . 프록시 서버를 작성할 때 헤더 split(":")
에 세미콜론을 사용하여 HTTP 헤더에서 호스트를 얻었습니다 HOST
. 이로 인해 공백이 남았 UnknownHostException
으며 공백이있는 호스트는 유효한 호스트가 아닙니다. 이렇게 host = host.trim()
온 것은 String host
모호한 문제를 해결했다.
답변
여러 가지 이유로 발생할 수 있습니다.
1) VPN이 연결되어 있는지 확인하세요. 그렇다면 가끔이 오류가 발생할 수 있습니다.
“호스트 이름, localhost는 루프백 주소 : 127.0.0.1; 대신 10.xxx.1.193 사용 (인터페이스 cscotun0)”
2) $ HOSTNAME 확인
3) 명령 줄에서 $ HOSTNAME 핑을 시도하고 작동하지 않으면 시스템 설정을 조정하여 로컬 호스트가 핑에 응답하도록합니다.
답변
호스트 이름이 없습니다. JBoss는 서버에 연결할 때이 환경 변수 ($ HOSTNAME)를 사용합니다.
[root@xyz ~]# echo $HOSTNAME
xyz
[root@xyz ~]# ping $HOSTNAME
ping: unknown host xyz
[root@xyz ~]# hostname -f
hostname: Unknown host
이를 유발할 수있는 것은 수십 가지가 있습니다. 새로운 이유를 발견하면 의견을 말하십시오.
서버에서이 문제를 영구적으로 해결할 수있을 때까지 해킹 의 경우 / etc / hosts 파일 끝에 다음 줄 을 추가 할 수 있습니다 .
127.0.0.1 xyz.xxx.xxx.edu xyz
답변
다음을 시도하십시오.
String url = "http://www.google.com/search?q=java";
URL urlObj = (URL)new URL(url.trim());
HttpURLConnection httpConn =
(HttpURLConnection)urlObj.openConnection();
httpConn.setRequestMethod("GET");
Integer rescode = httpConn.getResponseCode();
System.out.println(rescode);
URL Trim ()