「java调用php」java调用php接口 Connection refused

博主:adminadmin 2023-01-24 09:03:07 325

今天给各位分享java调用php的知识,其中也会对java调用php接口 Connection refused进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何在java程序中调用php文件

 public String execPHP(String scriptName, String param) {

        StringBuilder output = new StringBuilder();

        BufferedReader input = null;

        String phpPath = "D:/xampp/php/php.exe";

        try {

            String line;

            Process p = Runtime.getRuntime().exec(phpPath + " " +scriptName + " " + param);

            input = new BufferedReader(new InputStreamReader(p.getInputStream()));

            while ((line = input.readLine()) != null) {

                output.append(line);

//                p.destroy();//根据系统不同可能需要

            }

            p.destroy();

        } catch (Exception err) {

            err.printStackTrace();

        }finally{

            if(input != null){

                try {

                    input.close();

                } catch (IOException e) {

                    e.printStackTrace();

                }

            }

        }

        return output.toString();

    }

//调用php算法

conclusion = runPHP.execPHP(ALGORITHM_RESIDUES_URL,imageResiduesId);

//php接收

$id = $argv[1];

因为此方法是java开进程直接调用php,因此是以内存方式传参

java如何调用php接口

java那边用个http客户端,

请求php这边的应用就可以了,

不过两个系统还是要约定好

通信协议

(输入/输出数据格式)!

希望回答能给你带来帮助~

如果满意,请采纳,如还有疑问,可继续追问!

您也可以向我们团队发出请求,会有更专业的人来为您解答!

java 怎么调用php的api接口

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.nio.charset.Charset;

import XmlHelper;

public class QXOutStream {

public String outPutStr(String urlStr, String input) throws Exception{

StringBuffer strBuf = new StringBuffer();

String Resulst="";

try{

URL url = new URL(urlStr);

HttpURLConnection con = (HttpURLConnection)url.openConnection();

con.setDoInput(true);

con.setDoOutput(true);

con.setRequestMethod("POST");

con.setAllowUserInteraction(false);

con.setUseCaches(false);

con.setRequestProperty("Accept-Charset", "GBK");

BufferedOutputStream bufOutPut = new BufferedOutputStream(con.getOutputStream());

byte[] bdat = input.getBytes("UTF-8");//解决中文乱码问题

bufOutPut.write(bdat, 0, bdat.length);

bufOutPut.flush();

BufferedInputStream inp = new BufferedInputStream(con.getInputStream());

InputStreamReader in = new InputStreamReader(inp,Charset.forName("GBK"));

BufferedReader bufReador = new BufferedReader(in);

String tempStr = "";

while (tempStr != null) {

strBuf.append(tempStr);

tempStr = bufReador.readLine();

}

Resulst = XmlHelper.getPostNodeText(strBuf.toString(), "OPERATOR_RESULT");//.getPostFirstRowText(strBuf.toString(), "OPERATOR_RESULT");

}

catch (Exception e) {

//System.err.println("Exception:"+e.toString());

throw e;

//return "N";

}

finally{

return Resulst;

}

}

}

你可以参考这个例子调用php 的api接口,这里面的urlStr就是你调用php的api url接口

Java调用php接口,入参只支持form-data格式,如何封装参数?

接口返回的参数格式一般是由客户端的需要来设置,至于你说的这些,一般是封装成一个对象,然后将对象转换成Json字符串返回,客户端接收到Json字符串后,再转换成对象来解析需要的信息就可以了。

请教一下java和php协同开发的方法

引用

因为在做垂直搜索工作中,使用的是java编写的一个搜索类库。做垂直搜索,很多实用要使用到配置。当搜索的信息量大时,网站的更新。搜索程序的配置维护是一个不可忽视的问题。所以用了php做网页,提供配置界面,这样就可以不用直接修改配置文件或是配置数据库表。当把配置信息配置好了,我们需要检测配置是否正确,因为使用的是java程序,所以检测配置的正确与否使用的也是java程序来检测。这里就存在一个问题,就是需要把php页面上的信息传入到java程序中去检测。这个时候就需要php和java通信了。下面我就来介绍下怎么使php跟java通信(当然,你也可以使用类似webservice等技术)也就是php中调用java程序。 php要调用java程序:需要以下准备,php程序,java程序,还有就是shell程序或是bat程序。下面分别介绍下在linux服务器下php调用java程序和在windows服务器下调用java程序。前提是php,apache,jdk的环境都已经配置好。

一 在linux下php调用java程序是通过shell文件。分别是以下三个文件: test_shell.php test_shell.java test_shell.sh 他们的源代码如下:

1.test_shell.java程序代码

public class test_shell {

public static void main(String[] args) {

System.out.println("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2.test_shell.php程序代码

?php

/*

* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(),

* popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使

* 用的shell_exec()。

*/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?

3.test_shell.sh程序代码是

#!/bin/sh

JAVA_HOME=/usr/local/jdk

CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

cd /usr/local/apache/htdocs/test_shell

java test_shell

#shell代码结束

以下是三个程序的存放路径和运行次序。

1.三个文件都必须在同一目录下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很难调到java程序。

2.把test_shell.java程序编译成test_shell.class,然后把test_shell.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置一次是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到/usr/local/jdk下就以。

二、下面先介绍在windows服务器下,php调用java程序是通过bat文件来的。分别是以下三个文件: test_bat.php test_bat.java test_bat.sh 他们的源代码如下:

1.java程序

public class test_bat {

public static void main(String[] args) {

System.out.println("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2.test_bat.php程序代码

?php

/*

* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(),

* popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使

* 用的shell_exec()。

*/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?

3.test_bat.sh程序代码是

@echo off

set path=%path%;%cd%jrebin

set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class

java test_bat %1 %2

#bat代码结束

1.三个文件都必须放在同一目录下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很难调到java程序。

2.把test_bat.java程序编译成test_bat.class,然后把test_bat.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到跟跟test_bat.java同一目录下就行了。

三、上面两个例子中,test_shell.sh用的绝对路径,test_bat.bat是用的相对路径。不管是绝对还是相对,只要路径对了就行了。

java调用php的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java调用php接口 Connection refused、java调用php的信息别忘了在本站进行查找喔。