Ява — Получение http ответа PHP и ANDROID

Я пытаюсь получить ответ HTTP. Это не работает на стороне клиента.
Пытался получить ответ с «Почтальоном», и это сработало.

  1. Я уверен, что все в порядке, со стороны PHP.
  2. Может быть, это потому, что классы устарели.

Код Android: `

            //Connect to mysql.
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("www.example.com/register.php");

//JSON object.
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", register_username);
jsonObject.put("password", register_password);

//Entity builder to send value.
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(jsonObject.toString());
httpPost.setEntity(entityBuilder.build());

//Getting response
HttpResponse response = httpClient.execute(httpPost);
String responseBody = EntityUtils.toString(response.getEntity());
//When I try to print it out, I get value of "org.apache.http.message.BasicHttpResponse@32857430"`

КОД PHP: `

JSON EXAMPLE:
<?php
$con=mysqli_connect("localhost","tx","xxx","txxxt");

$data = json_decode(file_get_contents('php://input'));
$username = $data->{'username'};
$password = $data->{'password'};$query = mysqli_query($con, "SELECT * FROM user WHERE username='$username'");

if(mysqli_num_rows($query) > 0){
$response = new stdClass();
$response->status="Already exists";
$response->code=0;
echo json_encode($response );}

else{
$response = new stdClass();
$response->status="Registered";
$response->code=1;
echo json_encode($response );

$sql_query = "insert into user values('$username','$password', 'null', 'null' ,'null');";
mysqli_query($con, $sql_query) or die (mysqli_error($con));

}mysqli_close($con);
?>

`

Любая помощь будет оценена!

0

Решение

Мне удалось решить проблему:

То, что я ошибся:

   //JSON object.
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", register_username);
jsonObject.put("password", register_password);

//Entity builder to send value.
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(jsonObject.toString());
httpPost.setEntity(entityBuilder.build());

//Getting response
HttpResponse response = httpClient.execute(httpPost);
String responseBody = EntityUtils.toString(response.getEntity());
JSONObject responseObject = new JSONObject(responseBody);

Что я сделал, чтобы исправить

  //JSON object.
JSONObject jsonObject = new JSONObject();
jsonObject.putOpt("username", register_username);
jsonObject.putOpt("password", register_password);

//Entity builder to send value.
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(jsonObject.toString());
httpPost.setEntity(entityBuilder.build());

//Getting response
HttpResponse response = httpClient.execute(httpPost);
String responseBody = EntityUtils.toString(response.getEntity());
JSONObject responseObject = new JSONObject(responseBody);

Не уверен почему, но метод putOpt как-то исправил. Если вы знаете, почему, не стесняйтесь ответить.

0

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

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

По вопросам рекламы [email protected]