2017-04-13 349 views
1

我正在尝试使用排球库做GET请求(StringRequest)。该文件在我的wamp服务器(txt文件)上。我不断收到与我的IP地址本地主机10.0.2.2的连接失败。Android Studio服务器连接失败

有2个错误:

  • 本地主机10.0.2.2

java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 80) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused)

  • IP地址

java.net.ConnectException: failed to connect to /myIP (port 80) after 5000ms: isConnected failed: EHOSTUNREACH (No route to host)

我给的权限对androidmanifest

这里访问互联网是我的代码:

public void volleyTest(Context ctx) { 

    RequestQueue queue = Volley.newRequestQueue(ctx); 
    String url ="http://localhost/file.txt"; 

    StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        Log.i("debug","Response is: "+ response.substring(0,500)); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      Log.i("debug",error.getMessage()); 
     } 
    }); 
    queue.add(stringRequest); 
} 
+0

首先尝试在打开你的网址浏览器在设备上看到它的作品。 – Sharj

+0

我可以从设备上的浏览器(使用我的IP地址)读取txt文件,但我仍然无法使用Volley打开它 – OrsCrous

回答

0

首先检查该API使用你的IP,而不是从您的电脑浏览器到达本地主机,如果它是好的。从同一网络wifi上连接的移动浏览器再次检查。然后永远不要使用本地主机,并始终在您的api url中使用ips

0

您需要使用端口号获取机器的IP地址(使用ipconfig),并在您的String url中使用该地址代替'localhost'。 只是改变的“localhost”你的地址,如“192.168 ...:8080”并确保您添加到persmissions androidmanifest

<uses-permission android:name="android.permission.INTERNET" /> 
从Android
+0

您能否只读取我的消息 – OrsCrous

0

我用同样的设置跑到你的代码在我的机器, /齐射部分一切都很好,我可以用下面的代码访问我的文件,它基本上是你的一些小修改。

你正在使用哪个版本的Wamp? - 我建议你检查httpd.conf中,以允许任何地方像here

建议,我在我的机器上运行的代码访问,如果可以帮助:

public void volleyTest(Context ctx) { 

    RequestQueue queue = Volley.newRequestQueue(ctx); 
    String url = "http://192.168.15.28/file.txt"; 

    com.android.volley.Response.Listener<String> listender = new com.android.volley.Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      System.out.println(response); 
     } 
    }; 
    com.android.volley.Response.ErrorListener error = new com.android.volley.Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      System.out.println(error.getLocalizedMessage()); 
     } 
    }; 

    StringRequest t = new StringRequest(Request.Method.GET, url, listender, error); 
    queue.add(t); 
} 
相关问题