如何通过java发送信息到php页面?

时间:2017-06-20 22:31:03

标签: java php

我无法通过java应用程序将数据发送到php中的页面。基本上,我在php中有一个页面,通过POST方法接收数据,并在java中创建一个通过post发送此数据的类。问题是在java中我没有插入php页面中请求的标识符。正如您所看到的,我通过filter_input (INPUT_POST, "user")代码片段在php中获取页面上的值,但是在java应用程序中,我没有输入这个" user"我要发送的信息中的标识符。因此,php页面无法选择" java应用程序发送的值。任何人有任何想法如何解决这个问题?非常感谢你提前!
页面PHP:

<?php

    require_once './vendor/autoload.php';
    $controller = new App\CWS\Controller();

    if($_SERVER['REQUEST_METHOD'] == "POST"){
        $controller->registerUser(filter_input(INPUT_POST, "user"));
    }

?>

负责在Java应用程序中连接和发送数据的类:

public class WebClient {
    public String post(String json) {
        try {
            URL url = new URL("http://localhost//CWS//cadastrar_usuario.php");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-type", "application/json");
            connection.setRequestProperty("Accept", "application/json");

            connection.setDoOutput(true);

            PrintStream output = new PrintStream(connection.getOutputStream());
            output.println(json);

            connection.connect();

            Scanner scanner = new Scanner(connection.getInputStream());
            String resposta = scanner.next();
            return resposta;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}

1 个答案:

答案 0 :(得分:0)

        PrintStream output = new PrintStream(connection.getOutputStream());
        output.println(json);

通过这种方式,您可以将数据作为JSON编码文本发送到服务器。 此时将发送JSON字符串中的任何内容。 如果您还没有将“user”的数据放在JSON中,则必须在发送之前将其放入。