【问题标题】:Android HTTP connection to micro controller refusedAndroid HTTP 连接到微控制器被拒绝
【发布时间】:2016-05-18 12:00:34
【问题描述】:

我正在尝试向 IP 192.168.1.7 上的微控制器发出 HTTP 请求,但连接被拒绝。如果我在手机浏览器上打开它,它会完美运行。这是我的请求函数

class MakeRequest extends AsyncTask<String, Void, String>
{
    @Override
    protected String doInBackground(String... urls) {
        String response = "";
        for (String url : urls) {
            DefaultHttpClient client = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(url);
            try {
                HttpResponse execute = client.execute(httpGet);
                InputStream content = execute.getEntity().getContent();

                BufferedReader buffer = new BufferedReader(
                        new InputStreamReader(content));
                String s = "";
                while ((s = buffer.readLine()) != null) {
                    response += s;
                }

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return response;
    }
}


private void makeRequest(String s) throws IOException {
    Log.e("TEST",s);
    String IP= "http://192.168.1.7/";
    String url=IP+s;

    MakeRequest req = new MakeRequest();

    req.execute(new String[] { url });
}

我还在清单中添加了权限

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

错误日志是:

05-18 17:14:50.979  27210-27565/com.reuben.machinecontrol W/System﹕ ClassLoader referenced unknown path: /system/framework/tcmclient.jar
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.7 refused
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:193)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
05-18 17:14:50.980  27210-27565/com.reuben.machinecontrol W/System.err﹕ at com.reuben.machinecontrol.MainActivity$MakeRequest.doInBackground(MainActivity.java:194)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at com.reuben.machinecontrol.MainActivity$MakeRequest.doInBackground(MainActivity.java:185)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:295)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.lang.Thread.run(Thread.java:818)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ Caused by: java.net.ConnectException: socket failed: EACCES (Permission denied)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ ... 14 more
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at libcore.io.IoBridge.socket(IoBridge.java:619)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.net.PlainSocketImpl.create(PlainSocketImpl.java:198)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.net.Socket.checkOpenAndCreate(Socket.java:689)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at java.net.Socket.connect(Socket.java:849)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
05-18 17:14:50.981  27210-27565/com.reuben.machinecontrol W/System.err﹕ ... 14 more
05-18 17:14:50.982  27210-27565/com.reuben.machinecontrol W/System.err﹕ Caused by: android.system.ErrnoException: socket failed: EACCES (Permission denied)
05-18 17:14:50.982  27210-27565/com.reuben.machinecontrol W/System.err﹕ at libcore.io.Posix.socket(Native Method)
05-18 17:14:50.982  27210-27565/com.reuben.machinecontrol W/System.err﹕ at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:282)
05-18 17:14:50.982  27210-27565/com.reuben.machinecontrol W/System.err﹕ at libcore.io.IoBridge.socket(IoBridge.java:604)
05-18 17:14:50.982  27210-27565/com.reuben.machinecontrol W/System.err﹕ ... 19 more

我也没有任何代理连接。同样,它在移动浏览器上运行良好,但连接在应用程序中被拒绝。

【问题讨论】:

  • 这个微控制器有某种认证吗?
  • 没有那种东西。正如我所说,它可以在浏览器中完美运行。

标签: android httprequest


【解决方案1】:

原来清单已损坏。重新输入所有内容并成功。

【讨论】:

    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多