我正尝试在本地服务器上创建Android登录。这是我第一次尝试开发Android应用程序。所以,请耐心等待我:P 这是我doInBackground方法在我UserLoginTask任务:连接到http://10.x.x.x/path/file.pl被拒绝
try {
Log.v("Login", "Start http request");
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.x.x.x/path/file.pl");
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("command", "login"));
nameValuePairs.add(new BasicNameValuePair("arg1", mUser));
nameValuePairs.add(new BasicNameValuePair("arg2", mPassword));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
Log.v("Login", response.toString());
} catch (ClientProtocolException e) {
Log.v("Error", e.getMessage().toString());
return false;
} catch(UnsupportedEncodingException e) {
Log.v("Error", e.getMessage().toString());
return false;
} catch(IOException e) {
Log.v("Error", e.getMessage().toString());
return false;
} catch(Exception e) {
Log.v("Error", e.getMessage().toString());
return false;
}
每次我开始,我得到Start http request
和Connection to http://10.x.x.x refused
。这是我的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
更新1:
我想我已经找到了问题...阿帕奇坠毁出于某种原因。 Windows服务器上的Android设备没有http请求:P
真的存在http://10.x.x.x/中的x,还是只是为了隐藏真实的IP?实际上是否有HTTP服务器在http://10.x.x.x/上进行侦听? – jarmod
有一个真实的IP;) –
不要只记录异常消息。将异常本身作为第三个参数添加到日志调用中,以便获得完整的异常打印,包括任何可能的嵌套异常。至于错误本身,拒绝连接意味着您尝试连接的端口没有任何监听。 – laalto