java.net.ConnectException:localhost / 127.0.0.1:8080 – 连接被拒绝
我使用xampp apache服务器为我的机器上的应用程序提供资源。 但我正在得到上述错误。
我在谷歌上find了一些东西。 指向可能的解决schemehttp://groups.google.com/group/android-beginners/browse_thread/thread/599a06416fb37b4a
上述问题的解决scheme是什么?
既然你没有指定你从设备或模拟器连接到服务器,所以我猜你正在模拟器中使用你的应用程序。
如果从Android模拟器引用系统上的localhost,则必须使用http://10.0.2.2:8080/
因为Android模拟器在虚拟机中运行,所以127.0.0.1
或localhost
将是仿真器自己的环回地址。
请参阅: 仿真器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" />
- 在Androidmanifest.xml文件中添加Internet权限
使用权限android:name =“android.permission.INTERNET
- 在Windows中打开cmd
- input“ipconfig”然后按回车
- findIPv4地址。 。 。 。 。 。 。 。 。 。 。 :192.168.XX
- 使用这个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提供,您将不得不每次更改它…
祝你好运!
解决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
它为我工作。 我使用genymotion运行应用程序。
首先我检查了我的本地IP。 转到命令模式>>并写入ipconfig。 例如:Windows 10 >>searchcmd >>然后写ipconfig。 2.然后得到你的本地IP信息>>> 3.使用给你的本地主机IP和虚拟盒IP。 你需要使用虚拟箱IP为genymotion.Check截图下面。 你可以在虚拟主机networking下的任何ip下面