❶ php 对接java接口出现error fetching http headers,怎么找出问题所在
先确定是java接口程序报错还是java接口程序判断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接口
❸ 如何在php中执行java代码
windows下的安装
第一步:安装JDK,这是非常容易的,你只需一路回车的安装好。然后做好以下步骤。
在 Win9x 下加入 :“PATH=%PATH%;C:jdk1.2.2in” 到AUTOEXEC.BAT文件中
在 NT /Win2000下加入 “;C:jdk1.2.2in”到环境变量中。
这一步是非常重要的,这样PHP才能正确的找到需调用的JAVA类。
第二步:修改你的PHP.INI文件。
[java]
extension=php_java.dll
java.library.path=c:webphp4extensions
java.class.path="c:webphp4extensionsjdk1.2.2php_java.jar;c:myclasses"
在PHP.INI中加入extension=php_java.dll
并在[java]中,设定拿闷郑好java.class.path,让它指向php_java.jar,如果你使用新的JAVA类,你也应该存入这个路径,在这篇例子中,我们使用c:myclasses这个目录。罩丛
第三步:测试环境,创建如下PHP文件:
<?
$system=newJava("java.lang.System");
print"Javaversion=".$system->getProperty("java.version")." ";
print"Javavendor=".$system->getProperty("java.vendor")." ";
print"OS=".$system->getProperty("os.name")."".
$system->getProperty("os.version")."on".
$system->getProperty("os.arch")." ";
$formatter=newJava("消颂java.text.SimpleDateFormat","EEEE,
MMMMdd,yyyy'at'h:mm:ssazzzz");
print$formatter->format(newJava("java.util.Date"))." ";
?>
❹ php调用java接口,具体步骤,要可以在win10和linux上使用的,,高额悬赏!
说个思路,采纳与否自己看:
用socket进行通讯:
使用现有协议你可以依托,http实现本地访问的接口,也就是127.0.0.1+http端口就可以访问。
或者
自己定义数据传输规则,依托的是java的纯soket接口。
或者
webservice,需要数据封装,效率还不如http直接调用。
以上方式实现那度都不大,php100%有网络请求或webservice的函数,效率问题你也无须担心,127.0.0.1通讯,数据连网卡都不会倒,直接转给别的进程,部署在不同的机器,数据是需要经过网络的。
另外一种方式:
远程过程调用,这快能否跨语言通讯不想,但rpc是行业标准,如果严格遵循标准,理论上可以实现。php有没有对应的调用函数,不清楚。
我熟悉java,php了解一丁点。
以上所有方式,你写好后都是通用接口想部署在什么平台上都行。