POST和GET不起作用

时间:2014-05-14 04:57:24

标签: php android

我正在使用Mozilla Firefox中的REST客户端插件练习PHP并在服务器上发送请求。我还尝试了不同的工具在chrome上检查我是否在服务器上接收数据但不幸的是我没有收到任何GET或POST。我能够收到的只是查询字符串。

我甚至没有在服务器端编写任何代码只是简单的打印命令。

<?php

var_dump($_REQUEST);
var_dump($_GET);
var_dump($_POST);
print_r($_GET);
print_r($_POST);

echo "working";


?>

这是INPUT

> This is test message.

这是输出。

array(0) {
}
array(0) {
}
array(0) {
}
Array
(
)
Array
(
)
working

就像说的那样,唯一有效的是查询字符串。我使用的这个服务器是免费的网络服务,不知道这是否有帮助。

这是我想要接收的Android代码。

byte[] jsonBytes = json.getBytes("UTF-8");

            URL url = new URL("http://androidapplicati.base.pk/");
            urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("POST");
             urlConnection.setDoOutput(true);
            urlConnection.setFixedLengthStreamingMode(jsonBytes.length);
             urlConnection
             .setRequestProperty("Content-Type", "application/json");
            urlConnection.setRequestProperty("Content-Length",
                    String.valueOf(jsonBytes.length));

             out = urlConnection.getOutputStream();
             out.write(jsonBytes);
             out.flush();
             urlConnection.getInputStream().read();

2 个答案:

答案 0 :(得分:0)

首先,请检查您是否使用任何方法GET或POST传递任何值。 如是 这不是你的编码问题。这是您的托管服务器问题。我的建议从不使用任何免费服务器,因为没有技术支持而且它们不安全..

你的代码工作正常只需更改托管服务器

答案 1 :(得分:0)

这是一个POST示例,您可以通过直接访问或测试获取 file_get_contents()

发布(卷曲):

//domain and file to send request to
$url = 'http://yourdomain.com/file.php';

//parameters to send
$params = array(
          'field1' => 'value1',
          'field2' => 'value2'
        );

$data = http_build_query($params);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
//return the data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//incase there is a redirect
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$return = curl_exec($ch);

//close connection
curl_close($ch);

$output = json_decode($return, TRUE);

var_dump($output);

在服务器端:

echo json_encode($_REQUEST);