Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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
如何从Java代码调用PHP脚本?_Java_Php_Execute - Fatal编程技术网

如何从Java代码调用PHP脚本?

如何从Java代码调用PHP脚本?,java,php,execute,Java,Php,Execute,正如标题所说。。。我尝试使用以下代码在用户单击Java Swing应用程序中的按钮时执行PHP脚本: URL url = new URL( "http://www.mywebsite.com/my_script.php" ); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.connect(); 但是什么都没发生有什么不对劲吗?我想你错过了下一步,就像: InputStream is = conn.

正如标题所说。。。我尝试使用以下代码在用户单击Java Swing应用程序中的按钮时执行PHP脚本:

URL url = new URL( "http://www.mywebsite.com/my_script.php" );
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();

但是什么都没发生有什么不对劲吗?

我想你错过了下一步,就像:

InputStream is = conn.getInputStream();
HttpURLConnection
基本上只打开
connect
上的套接字,以便执行一些操作,如调用
getInputStream()
或更好的
getResponseCode()

“响应”将保留页面的文本。您可能希望使用回车符(取决于操作系统,请尝试\n\r或两者的组合)


希望这能有所帮助。

这并不完全是“从Java调用PHP”。这只是“发出HTTP请求”。HTTP请求的另一端可能是PHP。。。或者它可能是静态内容、RubyonRails,或者更多的Java。从代码的角度来看,它只是一个HTTP请求。所以Gareth Davis在下面是正确的。。。打开HTTP连接后,必须调用另一个方法来发送HTTP请求并获得HTTP响应。这是真的,即使你不在乎做任何事情与该反应。谢谢加雷斯。。。它现在运行良好。我首先想到connect()会自动调用url并直接执行它,因为我使用的是HttpURLConnection,而不是URLConnection。不用担心。从我的第二个示例中可以看到,对connect()的调用实际上是可选的。老实说,如果你除了使用Apache的HttpClientHi可能考虑的最简单的事情之外,我想问一下输入流。为什么要运行php脚本我们需要InputStream而不是OutputStream?因为您正在向java程序读取字节,即InputStream正在读取数据,而output stream正在从java程序发送(或写入)数据。希望有帮助。
URL url = new URL( "http://google.com/" );
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
if( conn.getResponseCode() == HttpURLConnection.HTTP_OK ){
    InputStream is = conn.getInputStream();
    // do something with the data here
}else{
    InputStream err = conn.getErrorStream();
    // err may have useful information.. but could be null see javadocs for more information
}
final URL url = new URL("http://domain.com/script.php");
final InputStream inputStream = new InputStreamReader(url);
final BufferedReader reader = new BufferedReader(inputStream).openStream();

String line, response = "";

while ((line = reader.readLine()) != null)
{
    response = response + "\r" + line;
}

reader.close();