OK、数日前、MySQL データベースにデータを保存し、PHP から「error_101」応答などの単純な json_encode() 文字列を受け取るために、ポスト リクエストを PHP ファイルに送信するコード ブロックを Java で作成しました。大丈夫です。昨日、openssl PHP エクステンションに問題があり、json_encode() 応答が値を返さなかったため、XAMPP を再インストールしました。phpinfo() を確認したところ、json サポートが有効になっていると表示されます。JAVA から PHP に送信される値も JSON オブジェクトであり、json_decode() は問題なく動作します。
PHP から Java に応答を送信するコードは次のとおりです。
<?php
header('Content-type: application/json');
echo json_encode("error_101");
?>
JAVAで応答を取得するコードは次のとおりです
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 10000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
HttpClient client = new DefaultHttpClient(httpParams);
String url = "http://192.168.254.19/android/register.php";
HttpPost request = new HttpPost(url);
request.setEntity(new ByteArrayEntity(json.toString().getBytes("UTF8")));
request.setHeader("json", json.toString());
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String result = null;
if (entity != null) {
InputStream instream = entity.getContent();
InputStreamReader is_reader = new InputStreamReader(instream);
BufferedReader br = new BufferedReader(is_reader);
result = br.readLine();
Log.i("Read from server", result);
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
私が得ている応答は「<br />
」です