如何在php上读取Java提交的数据?
我试图理解Java和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
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请求的简短示例吗?谢谢你提供的有用信息。你的努力帮助我得到了关键信息@克里斯托夫·克鲁格