【问题标题】:Unable to resolve hostname(even after adding INTERNET permission)无法解析主机名(即使添加了 INTERNET 权限)
【发布时间】:2015-05-02 01:56:47
【问题描述】:

我一直在尝试运行一个应用程序,该应用程序使用 PHP 和 Android 从 MySQL 存储和检索数据。整个项目在this 链接上。

我收到以下错误

05-01 20:38:57.833: W/System.err(28816): org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.34 refused
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:188)
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:365)
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
05-01 20:38:57.842: W/System.err(28816):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
05-01 20:38:57.842: W/System.err(28816):    at com.example.androidhive.JSONParser.makeHttpRequest(JSONParser.java:62)
05-01 20:38:57.842: W/System.err(28816):    at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:127)
05-01 20:38:57.842: W/System.err(28816):    at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1)
05-01 20:38:57.842: W/System.err(28816):    at android.os.AsyncTask$2.call(AsyncTask.java:292)
05-01 20:38:57.842: W/System.err(28816):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-01 20:38:57.842: W/System.err(28816):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-01 20:38:57.843: W/System.err(28816):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-01 20:38:57.843: W/System.err(28816):    at java.lang.Thread.run(Thread.java:818)
05-01 20:38:57.853: W/System.err(28816): Caused by: java.net.ConnectException: failed to connect to /192.168.1.34 (port 80): connect failed: ETIMEDOUT (Connection timed out)
05-01 20:38:57.872: W/System.err(28816):    at libcore.io.IoBridge.connect(IoBridge.java:124)
05-01 20:38:57.872: W/System.err(28816):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
05-01 20:38:57.872: W/System.err(28816):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
05-01 20:38:57.872: W/System.err(28816):    at java.net.Socket.connect(Socket.java:882)
05-01 20:38:57.872: W/System.err(28816):    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
05-01 20:38:57.872: W/System.err(28816):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
05-01 20:38:57.872: W/System.err(28816):    ... 14 more
05-01 20:38:57.873: W/System.err(28816): Caused by: android.system.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
05-01 20:38:57.873: W/System.err(28816):    at libcore.io.Posix.connect(Native Method)
05-01 20:38:57.873: W/System.err(28816):    at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
05-01 20:38:57.873: W/System.err(28816):    at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
05-01 20:38:57.873: W/System.err(28816):    at libcore.io.IoBridge.connect(IoBridge.java:122)
05-01 20:38:57.873: W/System.err(28816):    ... 19 more
05-01 20:38:57.874: E/Buffer Error(28816): Error converting result java.lang.NullPointerException: lock == null
05-01 20:38:57.897: E/JSON Parser(28816): Error parsing data org.json.JSONException: End of input at character 0 of 
05-01 20:38:57.928: E/AndroidRuntime(28816): FATAL EXCEPTION: AsyncTask #1
05-01 20:38:57.928: E/AndroidRuntime(28816): Process: com.example.androidhive, PID: 28816
05-01 20:38:57.928: E/AndroidRuntime(28816): java.lang.RuntimeException: An error occured while executing doInBackground()
05-01 20:38:57.928: E/AndroidRuntime(28816):    at android.os.AsyncTask$3.done(AsyncTask.java:304)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.lang.Thread.run(Thread.java:818)
05-01 20:38:57.928: E/AndroidRuntime(28816): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.json.JSONObject.toString()' on a null object reference
05-01 20:38:57.928: E/AndroidRuntime(28816):    at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:130)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at android.os.AsyncTask$2.call(AsyncTask.java:292)
05-01 20:38:57.928: E/AndroidRuntime(28816):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-01 20:38:57.928: E/AndroidRuntime(28816):    ... 3 more

我已将手机和服务器(笔记本电脑-本地主机)连接到 wifi。在检查 ipconfig 以了解 localhost 的 IP 地址后,我检查了 ping。

IP地址为192.168.1.34(从ipconfig获取)

,ping 使用这个 ip 地址可以正常工作

这个IP地址在浏览器中工作(当我输入这个IP地址时显示本地主机)

我进行了很多搜索,并得到了相同的答案,包括 foll。在清单文件中

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

但我已经包含它并且仍然面临同样的问题。 这是我的清单文件代码。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.androidhive"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:configChanges="keyboardHidden|orientation"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >


        <activity
            android:name=".MainScreenActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- All Product Activity -->
        <activity
            android:name=".AllProductsActivity"
            android:label="All Products" >
        </activity>

        <!-- Add Product Activity -->
        <activity
            android:name=".NewProductActivity"
            android:label="Add New Product" >
        </activity>

        <!-- Edit Product Activity -->
        <activity
            android:name=".EditProductActivity"
            android:label="Edit Product" >
        </activity>
    </application>

    <!--  Internet Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

</manifest>

请帮忙 谢谢你

【问题讨论】:

  • 将 'localhost/android_connect/get_all_products.php' 添加到浏览器后,我得到以下输出,{"pid":"1","name":"Siddharth","price":"1876.00" ,"描述":"sdkvjsdij","created_at":"2015-05-01 19:51:57","updated_at":"0000-00-00 00:00:00"}],"成功":1 } " 因此我认为输出是正确的(所以 N/W 肯定有问题)。
  • 显示你的 AsyncTask 类。您使用的是框架还是普通的 php?
  • 问题已解决,我已开启防火墙。我不得不把它关掉。谢谢詹姆斯的帮助(y)
  • 嗨詹姆斯,请帮助我有另一个问题,现在卡在它很长一段时间了。 stackoverflow.com/questions/30018667/…

标签: php android mysql


【解决方案1】:

使用192.168.1.34:80。让我知道它是否有效。它对我有用。 如果没有,请关注此link

【讨论】:

【解决方案2】:

愚蠢的我。我已经打开了防火墙。必须关闭它才能使其工作。

感谢大家的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2017-03-26
    • 1970-01-01
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多