从Java请求PHP脚本并获取返回值?

时间:2016-07-20 10:44:58

标签: java php

所以我想要做的就是说我有一个PHP文件,可以从$_GET进行检查,所以基本上是这样的;

<?php
$test = $_GET['test'];
if ($test == "test") {
   return true;
}
else {
  return false;
}
?>

这将作为test.php保存在我的服务器上,我想从我的Java文件向test.php发送请求,获得返回并在返回时进行测试。

这样的事情

Request(http://example.com/test.php?test=test)
if (Request Returned True) {
   Do
}
else {
   Do...
}

关于如何做到这一点的任何想法?我还是Java的新手,请原谅这个...

1 个答案:

答案 0 :(得分:0)

在php中你需要回显一些JSON:

<?php
$test = $_GET['test'];
if ($test == "test") {
   echo json_encode(['result'=>true]);
}
else {
    echo json_encode(['result'=>false]);
}

PS。不要在php文件的末尾使用?> closing tag

在java中,您可以获得Apache HttpClientIOCommons(对于IOUtils.toString)和Org.JSON(以解析JSON):

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet("http://example.com/test.php?test=test");

HttpResponse response = httpClient.execute(getRequest);


BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));

JSONObject json = new JSONObject(IOUtils.toString(br));

json.getString("result"); //result

我还没有检查过,但希望它能起作用。