我正在尝试使用本地服务器在Android中创建登录。这是我开发Android应用程序的第一次尝试。所以请耐心等待我:P 这是我的UserLoginTask任务中的doInBackground方法:
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:
我想我发现了问题...... Apache出于某种原因崩溃了。 Windows Server上没有针对Android设备的http请求:P
答案 0 :(得分:0)
我只是像你一样的新手(可能比你更多:p)。但是,我从您的代码和错误中理解的是,问题不在于您的代码。问题出在服务器上。我的意思是,您对该服务器的请求没有任何错误,但由于某种原因,服务器不接受您的请求或响应。您是否拥有与端口号关联的正确IP地址?如果是,请检查服务器配置(可能)。
不知道它有多大帮助,但这是我能理解的最好的。