【发布时间】:2017-06-05 18:53:32
【问题描述】:
我正在开发一个小型项目(REST 应用程序),我需要将 json 数据从 java 发布到 php 并显示它。但即使在过去 2 天的尝试之后,我也无法完成这项任务。所以我制作了一个单独的文件来测试它是如何工作的。
以下是我在 netbeans 中运行的 .java 文件
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class NewClass {
public static void main(String[] args) {
String json = "{\"message\":\"This is a message\"}";
HttpClient httpClient = new DefaultHttpClient();
try {
HttpPost request = new HttpPost("http://localhost/test/somesite.php");
StringEntity params =new StringEntity("message=" + json);
request.addHeader("content-type", "application/x-www-form-urlencoded");
request.setEntity(params);
HttpResponse response = httpClient.execute(request);
// handle response here...
System.out.println(EntityUtils.toString(response.getEntity()));
EntityUtils.consume(response.getEntity());
} catch (Exception ex) {
ex.printStackTrace();
} finally {
httpClient.getConnectionManager().shutdown();
}
}
}
以下是我在 *C:\xampp\htdocs\test* 中的 .php(somesite.php) 文件。我使用 xampp。
<?php
if(isset($_POST["message"]) && !empty($_POST["message"]))
{
print_r($_POST);
$json_string = $_POST["message"];
$json = json_decode($json_string);
print_r($json);
}
?>
当我在 netbeans 中运行 .java 文件时,我得到以下 output window
但是当我在浏览器中刷新我的 .php 页面时,我什么也没得到,我得到一个 blank page 如何获取从我的 .java 发布到我的 .php 的 json 数据以在浏览器中显示?
感谢任何帮助,我是 json 和 php 的新手。谢谢。
【问题讨论】:
-
你确定这是一个空白页而不是错误页吗?检查您的错误日志,并检查浏览器控制台。尝试沿途回显一些细节(
var_dump($_POST);在你的 isset 之前)