如何从java Android应用程序接收POST请求

时间:2014-07-17 11:55:11

标签: php android post

在地下室,我们正在为android编写一个messenger应用程序。我们基本上已经找到了逻辑但是对于以下内容: - 在手机上首次启动应用程序时,我们需要注册用户 - 服务器API(用PHP编写)必须接收电话使用json格式的POST请求发送的数据,如电话号码和uid。 如您所知,要在PHP中处理POST数据,您需要知道全局变量,如下所示:

$_POST['some_var'];

问题是,如何知道要在我的PHP脚本中处理的全局变量?

1 个答案:

答案 0 :(得分:0)

通常在Android代码中定义POST键。例如,如果您使用AsyncHttpClient(http://loopj.com/android-async-http/),那么您正在执行类似

的操作
RequestParams params = new RequestParams();
params.put("key", "value");
params.put("more", "data");

AsyncHttpClient client = new AsyncHttpClient();
client.post("http://www.google.com", params, new AsyncHttpResponseHandler() {

    @Override
    public void onStart() {
        // called before request is started
    }

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] response) {
        // called when response HTTP status is "200 OK"
    }    

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
        // called when response HTTP status is "4XX" (eg. 401, 403, 404)
    }

    @Override
    public void onRetry(int retryNo) {
    // called when request is retried
    }
});

RequestParams定义发送到PHP脚本的POST变量。对于此示例,您将在PHP脚本中获得以下$_POST值。

$_POST['key'] // "value"
$_POST['more'] // "data"