2013-03-11 54 views
1

我收到UnknownHostException(從lookuphostbyname)。特殊UnknownHostException與機器名稱

這樣做:

result = httpClient.execute(httpGet, responseHandler); 

我有上網權限和上網服務。

AND:如果我使用ip它的作品。 如果我使用http://www.google.de它的作品。

但是,如果我在URL中使用機器名稱,它不會... 這是怎麼回事? Android/java不處理機器名稱?

我也試過:

InetAddress i = InetAddress.getByName(URLName); 

我不知道我能下一步要做...

編輯:隨着它的FQDN工作的。但機器名不?

+0

。但是沒有機會使用機器名稱? – user437899 2013-03-11 00:54:32

回答

1

只是爲了澄清一些事情。

如果您正在使用模擬器,可以認爲它與使用單獨的設備完全相同。

由此,任何網絡請求將被視爲不來自您的PC。

雖然我相信可以進入設備/模擬器並添加主機記錄,但它不是您真正想要關閉的路徑。

最好的辦法是隻使用IP地址,或者始終確保您使用的地址位於可從設備/模擬器訪問的DNS中(不需要是公用的)。

基本上認爲模擬器/設備作爲一個單獨的計算機,你就會知道,你需要使用FQDN作品去

0

機器名稱必須在本機可以看到的DNS中註冊,或者需要在您的主機文件中解析。

+0

如何在DNS中註冊?使用Windows(例如ping)它在這個網絡中工作...主機文件是一個選項,但我不想編輯我的所有用戶的這個文件;-) – user437899 2013-03-11 01:01:55