Java 具有计算机名的特殊UnknownHostException
我得到一个Java 具有计算机名的特殊UnknownHostException,java,android,exception,dns,Java,Android,Exception,Dns,我得到一个UnknownHostException(来自lookuphostbyname) 这样做: result = httpClient.execute(httpGet, responseHandler); 我有上网许可和上网权限 而且:如果我使用ip,它会工作。 如果我使用它,它会工作 但是如果我在URL中使用机器名,它不会。。。 这怎么可能?android/java不处理机器名吗 我还尝试: InetAddress i = InetAddress.getByName(URLName);
UnknownHostException
(来自lookuphostbyname
)
这样做:
result = httpClient.execute(httpGet, responseHandler);
我有上网许可和上网权限
而且:如果我使用ip,它会工作。
如果我使用它,它会工作
但是如果我在URL中使用机器名,它不会。。。
这怎么可能?android/java不处理机器名吗
我还尝试:
InetAddress i = InetAddress.getByName(URLName);
我不知道我下一步能做什么
编辑:使用fqdn它可以工作。但是机器名不是吗?机器名必须在这台机器可以看到的DNS中注册,或者需要在主机文件中解析。机器名必须在这台机器可以看到的DNS中注册,或者需要在主机文件中解析。仅澄清几件事 如果您使用的是emulator,则可以认为它与使用单独的设备完全相同 这样,任何网络请求都将被视为不是来自您的PC 虽然我相信可以进入设备/模拟器并添加主机记录,但这并不是您真正想要走的路 最好的办法是只使用IP地址,或者始终确保您使用的地址位于可以从设备/仿真器访问的DNS中(不需要是公共地址)
基本上,将模拟器/设备视为一台单独的计算机,您将知道您需要去哪里只是为了澄清一些事情 如果您使用的是emulator,则可以认为它与使用单独的设备完全相同 这样,任何网络请求都将被视为不是来自您的PC 虽然我相信可以进入设备/模拟器并添加主机记录,但这并不是您真正想要走的路 最好的办法是只使用IP地址,或者始终确保您使用的地址位于可以从设备/仿真器访问的DNS中(不需要是公共地址)
基本上将仿真器/设备视为一台单独的计算机,您将知道使用fqdn需要去哪里。但是没有机会使用机器名吗?使用fqdn是有效的。但是没有机会使用机器名吗?我如何在DNS中注册它?使用windows(例如ping)它在该网络中工作。。。主机文件是一个选项,但我不想编辑所有用户的此文件;-)如何在DNS中注册它?使用windows(例如ping)它在该网络中工作。。。主机文件是一个选项,但我不想编辑所有用户的此文件;-)