使用Java和PHP通过okhttp进行JSON请求

时间:2015-03-25 00:33:48

标签: java php json okhttp

我正在使用带有Java和PHP的okhttp lib。我的Java客户端正在运行以下代码。

public class Connection {

    public static final MediaType JSON = MediaType
            .parse("application/json; charset=utf-8");

    OkHttpClient client = new OkHttpClient();

    String post(String url, String json) throws IOException {
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder().url(url).post(body).build();
        Response response = client.newCall(request).execute();
        return response.body().string();
    }


    public static void main(String[] args) throws IOException {
        Connection example = new Connection();
        String json = "{'input':'test'}";
        String response = example.post("http://localhost/android_api/index.php", json);
        System.out.println(response);
    }
}

在服务器端,我尝试使用下面的代码解码JSON字符串,但我的webservice只返回NULL。

<?php

    $rawData = file_get_contents("php://input");
    $json = json_decode($rawData);
    var_dump($json);

?>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

首先,您在主线程上调用http请求,这将导致错误。所以你使用AsyncTask