Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php上读取Java提交的数据?_Java_Php - Fatal编程技术网

如何在php上读取Java提交的数据?

如何在php上读取Java提交的数据?,java,php,Java,Php,我试图理解Java和PHP之间数据交换的原理 我有以下java源代码: public static void main(String[] args) throws MalformedURLException, IOException { URL url; url = new URL ("http://www.corrosio.cz/text.php"); PrintStream ps; BufferedReader reader; URLConnec

我试图理解Java和PHP之间数据交换的原理

我有以下java源代码:

public static void main(String[] args) throws MalformedURLException, IOException {

    URL url;
    url = new URL ("http://www.corrosio.cz/text.php");

    PrintStream ps;
    BufferedReader reader;

    URLConnection conn;

    try {
        conn = url.openConnection();
        conn.setDoOutput(true);
        ps = new PrintStream(conn.getOutputStream());
        ps.print("firstKey=value1");
        ps.print("&secondKey=value2");

        conn.getInputStream();
        ps.close();                   //this section of java code works correctly

        System.out.print("Odeslané hodnoty:\t");     /* here I try to read the sent data,
                                                     but this part doesn't work. */
        reader = new BufferedReader(new InputStreamReader(url.openStream()));
        String inputLine;
        while ((inputLine = reader.readLine()) != null) {
            System.out.println(inputLine);

        }


    }
    catch (MalformedURLException e) {
        e.printStackTrace();
    }
    catch (IOException e) {
        e.printStackTrace();
    }


}
这段Java代码运行良好,但只能达到
ps.close()
的级别,而没有使用BufferedReader的以下部分

有人能解释并建议我为什么不能读取从Java发送到PHP的数据,然后使用BufferedReader读取发送的数据吗

以下是php脚本:

<?php
     foreach ($_POST as $key => $value) {
         switch ($key) {
                 case 'firstKey':
                        $firstKey = $value;
                        break;
                 case 'secondKey':
                        $secondKey = $value;
                        break;
        default:
                break;
         }
     }
     $mess = "hodnoty: " .$firstKey. " a " . $secondKey;

     mail("example@email.com", "Java", $mess);
     echo $mess;
?>

mail()
函数工作正常,它会将包含Java数据的电子邮件发送到php电子邮件。
错误在哪里?非常感谢。

url.openStream()打开一个新连接。要使用您已有的连接,请改用conn.getInputStream()

根据评论中的讨论,以下是我的答案:

在我看来,您的java代码运行的是
GET
请求,而不是
POST
请求。(我不是java专家)


您是否可以尝试在PHP代码中使用
$\u GET
而不是
$\u POST
?另外,
$\u请求
也应该是可能的,这样做的好处是,它可以将
$\u GET
$\u POST
$\u COOKIES
一起提供结果

另一种选择可能是在java代码中强制执行POST请求。这里是另一个解决它的SO问题的参考


请告诉我这是否有帮助,或者您是否有任何其他问题。

您是否可以尝试使用
$\u GET
而不是
$\u POST
?此外,
$\u请求
也应该是可能的。无论如何,在我看来,您的java代码运行GET查询。(不是java专家)替代方法:在java代码中强制执行POST请求。@Christoph Kluge我是java初学者。你能给我一个如何使用Java发送POST请求的简短示例吗?谢谢你提供的有用信息。你的努力帮助我得到了关键信息@克里斯托夫·克鲁格