& lt; android studio & gt; HttpClient.execute (HttpPost); был брошен в IOException, даже когда-то код можно использовать

Я пытаюсь выполнить вход в систему и использую этот код Android и PHP

== код Android для входа в систему ==

public void OnLogin(View v) {

List<NameValuePair> params_login = new ArrayList<NameValuePair>();
params_login.add(new BasicNameValuePair("masterUsername", masterUsernameEDT.getText().toString()));
params_login.add(new BasicNameValuePair("masterPassword", masterPasswordEDT.getText().toString()));

HTTPConnection hp = new HTTPConnection("192.168.1.35",this); //server ip + current context
String url_login = "http://"+hp.ip+"/_masterpassword_php/checkLogin.php";

String result_login  = hp.getHttpPost(url_login,params_login);
---------so on--------

== HTTPconnection ==

    public class HTTPConnection {

String ip = "localhost";
Context previousPage ;

HTTPConnection (String getIP, Context context)
{   ip = getIP ;
previousPage = context ;
}

public String getHttpPost(String url,List<NameValuePair> params) {
StringBuilder str = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);

final AlertDialog.Builder a2 = new AlertDialog.Builder(previousPage); //***
a2.setMessage("In getHttpPost @ HTTPConnection \nurl: "+url+"\nparams: "+params);
a2.show();

try {
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = client.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) { // Status OK
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
str.append(line);
}
} else {
Log.e("Log", "Failed to download result..");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
final AlertDialog.Builder a3 = new AlertDialog.Builder(previousPage); //***
a3.setMessage("IOException : "+e);
a3.show();
e.printStackTrace();
}
final AlertDialog.Builder a1 = new AlertDialog.Builder(previousPage); //***
a1.setMessage("json_get : "+str.toString());
a1.show();
return str.toString();
}

}

* Однажды я проверил это в школе. Это можно использовать (неделю назад)
Я попробовал еще раз вчера после того, как я уже обновил операционную систему моего телефона (OPPO F1) и перешел на работу по дому. Выкидывается IOException *

Исключение говорит «тайм-аут соединения» и ничего не возвращено

Я уже изменил свой IP-адрес в коде наверняка. Используя IP get, введите в командной строке «ipconfig».

Он все еще пригоден для использования и показывает правильный ответ, когда я проверял PHP, поэтому я думаю, что это не может быть проблемой с кодом PHP, но я выложу его здесь.

<?php require "connection.php";

//$_POST["masterUsername"] = "test1"; // for Sample
//$_POST["masterPassword"] = "test1"; // for Sample

$masterUsername = $_POST["masterUsername"];
$masterPassword = $_POST["masterPassword"];

$strSQL = "SELECT * FROM masteraccount WHERE 1
AND masterUsername = '".$masterUsername."'
AND masterPassword = '".$masterPassword."'
";
//echo $strSQL;

$objQuery = mysql_query($strSQL) or die(mysql_error());
$objResult = mysql_fetch_array($objQuery);
$intNumRows = mysql_num_rows($objQuery);

if($intNumRows==0) {
$arr['status'] = "0";
$arr['accountID'] = "0";
$arr['error'] = "Incorrect Username and Password";
}
else {
$arr['status'] = "1";
$arr['accountID'] = $objResult["accountID"];
$arr['error'] = "-";
}

/**
$arr['status'] // (0=Failed , 1=Complete)
$arr['accountID'] // accountID
$arr['error'] // Error Message
*/
mysql_close($connection);
echo json_encode($arr);

?>

Результат, показанный в приложении для Android, — ничто, но он все еще показывает, когда пытался запустить PHP Script, набрав «http://192.168.1.35/_masterpassword_php/getAccountID.php«прямо в адресную строку.

Спасибо за помощь. Извините за испорченный код. Я изо всех сил пытался решить это самостоятельно, чтобы в коде было много комментариев.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector