❶ 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了解一丁點。
以上所有方式,你寫好後都是通用介面想部署在什麼平台上都行。