java.net.ConnectException:localhost / 127.0.0.1:8080 – 连接被拒绝

我使用xampp apache服务器为我的机器上的应用程序提供资源。 但我正在得到上述错误。

我在谷歌上find了一些东西。 指向可能的解决schemehttp://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a

上述问题的解决scheme是什么?

Solutions Collecting From Web of "java.net.ConnectException:localhost / 127.0.0.1:8080 – 连接被拒绝"

既然你没有指定你从设备或模拟器连接到服务器,所以我猜你正在模拟器中使用你的应用程序。

如果从Android模拟器引用系统上的localhost,则必须使用http://10.0.2.2:8080/因为Android模拟器在虚拟机中运行,所以127.0.0.1localhost将是仿真器自己的环回地址。

请参阅: 仿真器networking

在android中

replace: String webServiceUrl = "http://localhost:8080/Service1.asmx"

With: String webServiceUrl = "http://10.0.2.2:8080/Service1.asmx"

祝你好运!

localhost和127.0.0.1都是“当前机器”的说法。 所以你的PC上的本地主机就是PC,而android上的本地主机就是手机。 由于您的手机没有运行networking服务器,当然它会拒绝连接。

你需要得到你的机器的IP地址(在windows上使用ipconfig来查找),并使用它来代替127.0.0.1。 这可能仍然无法正常工作,具体取决于您的networking/防火墙的设置。 但这是一个完全不同的话题。

您只需使用您的本地(但真实的)IP地址和端口号如下所示:

String webServiceUrl = "http://192.168.XX:your_virtual_server_port/your_service.php"

并确保您在清单中设置了互联网许可

<uses-permission android:name="android.permission.INTERNET" />

  1. 在Androidmanifest.xml文件中添加Internet权限

使用权限android:name =“android.permission.INTERNET

  1. 在Windows中打开cmd
  2. input“ipconfig”然后按回车
  3. findIPv4地址。 。 。 。 。 。 。 。 。 。 。 :192.168.XX
  4. 使用这个URL“ http://192.168.XX:your_virtual_server_port / your_service.php ”

如果你在你的url中使用localhost并在模拟器中testing你的应用程序,只需要在URL中replacelocalhost的系统IP地址即可,或者你可以使用10.0.2.2而不是localhost。

http://localhost/webservice.php到http://10.218.28.19/webservice.php

其中10.218.28.19 – >系统的IP地址。

要么

http://localhost/webservice.php到http://10.0.2.2/webservice.php

您只需使用本地IP地址:使用cmd命令“ipconfig”和您的服务器端口号如下所示:

stringwebServiceUrl =“ http://192.168.XX:your_local_server_port / your_web_service_name.php ”

并确保您在项目清单中设置了Internet权限

这对我来说是完美的

祝你好运

用10.0.2.2replace本地主机是正确的,但是你可以用你的物理机器ipreplacelocalhost(这对于debugging来说更好)。 Ofc,如果ip由dhcp提供,您将不得不每次更改它…

祝你好运!

它为我工作。 我使用genymotion运行应用程序。

首先我检查了我的本地IP。 转到命令模式>>并写入ipconfig。 例如:Windows 10 >>searchcmd >>然后写入ipconfig。 2.然后得到你的本地IP信息>>> 3.使用给你的本地主机IP和虚拟盒IP。 你需要使用虚拟箱IP为genymotion.Check截图下面。 你可以在虚拟主机networking下的任何ip下面 在这里输入图像说明

解决scheme非常简单。

1在Androidmanifest.xml文件中添加Internet权限

 <uses-permission android:name="android.permission.INTERNET" /> 

[2]改变你的httpd.config文件

 Order Deny,Allow Deny from all Allow from 127.0.0.1 TO Order Deny,Allow Allow from all Allow from 127.0.0.1 And restart your server. 

[3]而最无力的一步。 使您的networking作为您的家庭networking

进入控制面板>networking和互联网>networking和共享中心

 Click on your Network and select HOME NETWORK 

在这里输入图像说明