Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.net.UnknownHostException:服务器的主机名无效:本地_Java - Fatal编程技术网

java.net.UnknownHostException:服务器的主机名无效:本地

java.net.UnknownHostException:服务器的主机名无效:本地,java,Java,我应该采取哪些步骤来解决错误: java.net.UnknownHostException: Invalid hostname for server: local 我在Android emulator中添加了新的虚拟主机名,但结果返回到 java.net.UnknownHostException virtualhostname at java.net.InetAddress.lookUpHostByName(InetAddress.java:506) 当我在电脑上键入virtualh

我应该采取哪些步骤来解决错误:

java.net.UnknownHostException: Invalid hostname for server: local

我在Android emulator中添加了新的虚拟主机名,但结果返回到

 java.net.UnknownHostException virtualhostname at 
  java.net.InetAddress.lookUpHostByName(InetAddress.java:506)

当我在电脑上键入virtualhost URL时,它会在屏幕上工作。然后,当我在Emulator上运行并检查Logcat时,我无法读取或检查HTTP状态(如果是200、202或错误代码)。它只是简单地返回到UnknownHostException

异常的真正含义是没有名为“local”的已知服务器。我猜您正在尝试连接到本地计算机。尝试使用主机名
“localhost”
,或者
127.0.0.1
::1
(最后一个是IPv6)

从:

抛出以指示IP地址 无法确定主机的名称

127.0.0.1
::1
“localhost”
应该始终是环回接口,因此如果这不起作用,我会非常惊讶

如果网络上确实有一个名为“本地”的服务器,请检查DNS设置或将其添加到主机文件中

java.net.UnknownHostException:主机未解析:

抛出以指示无法确定主机的IP地址

当您连接到有效的wifi但路由器未接收到internet时,也会引发此异常。这很容易复制:

  • 连接到有效的wifi
  • 现在,在插入路由器的同时,将电缆从路由器上拔下
  • 您将观察到此错误


    你不能真正解决这个问题,你只能优雅地通知用户。(类似于“无法建立连接”)

    尝试连接到本地计算机。请改用主机名“localhost”或::/-最后一个是ipv6

    这可能是由于各种原因造成的

    1) 检查是否已连接VPN,如果是,有时可能会出现此错误

    您的主机名localhost解析为环回地址:127.0.0.1;改为使用10.xxx.1.193(在接口cscotun0上)

    2) 检查您的$HOSTNAME


    3) 尝试在命令行上ping$HOSTNAME,如果它不起作用,请调整系统设置,使您的本地主机响应ping

    我在mac上遇到了相同的问题。我从终端ping我的
    $HOSTNAME
    时发现了问题,它返回
    ping:cannotresolve myHostName:Unknown host

    解决:

  • 在终端上执行echo$HOSTNAME
  • 无论它显示什么主机名(比如说
    myHostName
    ),尝试ping它:
    pingmyhostname
    。如果返回
    ping:cannotresolve myHostName:Unknown host
    ,则在
    /etc/hosts
    文件中添加一个条目
  • 对于该文件,编辑
    /etc/hosts
    文件并添加以下内容:

    127.0.0.1我的主机名


  • 希望能有所帮助。

    这不是问题的具体内容,但当我在谷歌上搜索所提到的
    未知后异常时,这个问题出现了,而且在其他任何地方都找不到修复程序,所以我想在这里添加一个答案

    持续收到的例外情况是:
    java.net.UnknownHostException:google.com
    位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
    位于java.net.socksocketimpl.connect(socksocketimpl.java:392)
    位于java.net.Socket.connect(Socket.java:589)
    位于java.net.Socket.connect(Socket.java:538)
    位于java.net.Socket。(Socket.java:434)
    位于java.net.Socket。(Socket.java:211)
    ... 
    
    无论我如何尝试连接到任何有效的主机,在终端中打印也不会有帮助。一切都是对的

    解决方案
    不为包含空格的主机字符串调用
    trim()
    。在编写代理服务器时,主机是通过使用
    主机头的分号拆分(“:”
    )从HTTP头中获取的。这会留下空白,并导致
    UnknownHostException
    ,因为带有空白的主机不是有效的主机。在
    字符串主机上执行
    host=host.trim()
    ,解决了不明确的问题

    缺少主机名。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
    

    请尝试将SPARK_LOCAL_IP环境变量设置为要连接的IP地址(可以是本地主机,即您自己的IP地址)。例如

    $export SPARK\u LOCAL\u IP=182.95.208.152

    这样,您就不需要更改现有的linux设置。
    为我工作,希望对您也有帮助。

    如果您的/etc/localhosts文件包含以下条目: 添加主机名条目,如下所示:

    127.0.0.1 local host (add your hostname here)
    ::1 (add hostname here) (the last one is IPv6).
    
    这将解决问题。

    请尝试以下操作:

    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

    使用不同的wifi连接与不同的服务提供商连接您的手机。
    我不知道确切的问题,但我无法连接到服务器与特定的服务提供商,但它的工作时,我连接到其他服务提供商。那就试试吧

    我的android应用程序在抓取xml文件时遇到了这个问题。我的链接格式无效,我用完整的url重新格式化,它成功了。

    如果你在这里是因为你的模拟器给了你这个例外,进入android仿真器中的工具>AVD管理器并冷启动仿真器。

    更多信息将帮助我们轻松解决问题。您是否在代理服务器后面并配置了代理设置?如果是这样,您可能需要排除localhost和其他不需要代理服务器帮助解析为有效IP地址的主机
    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);