Android ECONNREFUSED(拒绝连接)

我试图用我的android应用程序中的代码将数据发送到服务器。

try { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost("http://myip/adminlogin.php"); httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpClient.execute(httpPost); HttpEntity entity = response.getEntity(); is = entity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } result = sb.toString(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; 

尝试使用用户名和密码对登录时出现以下错误消息。

[socket] [0] connection / myip:80; LocalPort = 33049(0)close [socket] [/ 0.0.0.0:33049] W / System.err:org.apache.http.conn.HttpHostConnectException:连接到http: // myip refused由以下原因引起:java.net.ConnectException:90000ms后无法连接到/ myip(端口80):isConnected失败:ECONNREFUSED(拒绝连接)

myip可通过网络浏览器访问,所以我认为端口80可以。 文件路径也行。 我检查了数据库,它运行正常。 我在Manifest文件中设置了必要的权限。

您的手机是否与连接ip号码的计算机位于同一网络上? 服务器是否在公共互联网上? 当我忘记将手机放在本地wifi网络上并且想要连接到本地网络上的服务器时,我收到此错误。

加入Christine的回答:

我有类似的情况。 我试图通过它的热点连接到另一个Android设备。 即使它们连接到同一网络,我遇到了“连接失败:ECONNREFUSED(连接被拒绝)”的问题。

在破坏了几天后,我意识到我的客户端设备也连接到移动互联网。这意味着, 我的移动数据已开启

我关掉了Viola!

确保您没有连接到任何其他网络。

发布这个以防它可以帮助任何人。

为什么你在使用HttpClient?它被弃用了。 而不是这个使用HttpUrlConnection类。

public class ConnectAsynchronously {

 public static String connectAsynchronously(String uri,JSONObject jobj) { String result =""; try { //Connect HttpURLConnection urlConnection = (HttpURLConnection) ((new URL(uri).openConnection())); urlConnection.setDoOutput(true); urlConnection.setRequestProperty("Content-Type", "application/json"); urlConnection.setRequestProperty("Accept", "application/json"); urlConnection.setRequestMethod("POST"); urlConnection.connect(); //Write OutputStream outputStream = urlConnection.getOutputStream(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); writer.write(jobj.toString()); writer.close(); outputStream.close(); //Read BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8")); String line = null; StringBuilder sb = new StringBuilder(); while ((line = bufferedReader.readLine()) != null) { sb.append(line); } bufferedReader.close(); result = sb.toString(); } catch(UnsupportedEncodingException e){ e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result; } }