java獲取php數據 php獲取接口的json數據

php程序與java程序之間做數據交互,怎么做

用php的curl模擬瀏覽器請求是訪問java服務器程序

永年網站制作公司哪家好,找創新互聯建站!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。創新互聯建站自2013年起到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯建站

2.用java的一個http類庫同樣發送http請求來訪問PHP服務器

$context=stream_context_create(array('http'=array('method'="GET",'timeout'=30,)));

$string=file_get_contents('',false,$context);//換成java地址

echo?'這可不是百度,只是我輸出了百度的返回';

echo?$string;

java怎么調用php的語句是什么

PHP調用JAVA方式

1. 背景

在開發招商銀行信用卡分期付款功能過程中,在支付成功之后需要對銀行的返回數據進行簽名驗證,因簽名加密方式招商銀行是不提供的,只提供了相應的JAVA驗證類測試例子,而本項目采用的是PHP架構方式,因此需要PHP調用JAVA的驗證類來測試簽名是否正確。

2. 目的

本文檔提供一種PHP調用JAVA類的方式來進行招行的支付成功簽名驗證,本方法也可用于其他銀行的JAVA簽名驗證方式。

3. 名詞解釋

名詞

解釋說明

php-java-bridge

PHP和JAVA的連接橋

4. php-java-bridge安裝和配置介紹

4.1 安裝

Php-java-bridge下載路徑:

最新php-java-bridge版本是php-java-bridge_6.2.1.tar.gz解壓之后采用/usr/local/php/phpize進行模塊編譯,提示Cannot find config.m4,版本過高問題,采用了5.4.4.2版本。

編譯及安裝:

tar zxvf php-java-bridge_5.4.4.2.tar.gz

cd php-java-bridge-5.4.4.2/

/usr/local/php/bin/phpize

./configure --disable-servlet --with-java=/usr/local/java/,/usr/local/java/jre --with-php-config=/usr/local/php/bin/php-configmake make install

4.2 配置

vim /usr/local/php/etc/php.ini

[新增]

extension=java.so

[java]

java.java_home="/usr/local/java/"

java.java="/usr/local/java/jre/bin/java"

java.log_file="/var/log/php-java-bridge.log"java.classpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/JavaBridge.jar"java.libpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"java.log_level="3"

java.hosts="10.204.79.232:8081"

4.3 啟動

重新啟動nginx或者apache,輸入?php phpinfo();?可以看到java support

Enabled

java bridge

5.4.4.2

java.log_level

2

手動啟動javaBridge

java -jar JavaBridge.jar SERVLET:8080

也可以嘗試使用java -jar JavaBridge.jar SERVLET_LOCAL:80814.4 測試

解壓javaBridge.jar,取出java目錄下相關的Java.inc文件測試代碼:

require_once("java/Java.inc");

$string = new Java("java.lang.String", "HelloWorld");echo $string;

$system=new Java("java.lang.System");

echo "Java version=".$system-getProperty("java.version")." ";注意:java/Java.inc記得從javaBridge.jar解壓出來放在相關php代碼中注意取值:java_is_true java_is_false java_values5. 注意事項及配置過程中的問題

下述描述在實際配置測試過程中可能會碰到的問題及解決方法:

5.1 問題

問題1:

configure: error: host_alias is not set. Make sure to run config.guessBack-end configuration failed.

Please install the recommended autoconf, libtool and automake versionsor disable back-end configuration and use the pre-compiled J2EE back-end:

./configure --disable-backend --with-java=JAVA_HOME

configure: error: ./configure.gnu failed for server安裝yum install libtool即可

5.2 注意事項

事項1:

遠程調用require_once(‘‘);需要設置php.ini的allow_url_include參數為on,同時編輯 JavaBridge 部署的 Web 應用程序目錄中的 web.xml 文件,如下:

取消對這個部分的注釋,以便允許對您的 Java 類進行遠程訪問init-param

param-namepromiscuous/param-name

param-valueOn/param-value

/init-param

事項2:

在實際生產環境中,考慮到如果每臺機器都部署一個JavaBridge服務的話,不好維護。故考慮在單臺或2臺左右機器上部署,其他機器連接到部署機器上,可以做分流承壓的功效并且易監控。在外網環境下發現在調用部署環境的內外網IP都無法獲取到指定文檔。實際require_once本質就是調用部署環境的java.inc文件,可以考慮把相關文件放在本地生產環境上,但在引用Java_require相關JAR包會提示連接不到JavaBridge服務,閱讀Java.inc可以查看它會通過幾個地方設置JAVA_HOST宏變量,第一種是通過require_once里面的IP或者域名和端口,另外一種是在未設置JAVA_HOST宏變量的前提下讀取php.ini,如果都沒有java.hosts參數則默認為127.0.0.1:8080。

排除第一種方式如果采用讀取php.ini的話,因為本身java.hosts參數不屬于PHP可人為設置的參數,采用ini_set函數并不能指定java.hosts的值,所以一種方式是在所有項目的生產環境的php.ini都指定內網IP和端口,如java.hosts=10.204.79.231:8080。還有一種方式,查閱Java.inc可以看到是在未設置JAVA_HOST變量的前提下是去讀取php.ini,我們可以在require_once(‘java/Java.inc‘)之前新增一行define ("JAVA_HOSTS", $host)。

5.3 參考例子

個人的實際測試代碼如下:

private function _checkSign($strText, $strSign){$ret = false;

try{

$host = ConfigWrapper::load()-services-phpjava-host;if($host != NULL){

define ("JAVA_HOSTS", $host);

}

require_once(‘java/Java.inc‘);

java_require(self::CMBJAR);

$pay = new Java(‘testCdpaySign‘, self::CERFILE);$result = $pay-checkSign((string)$strText, (string)$strSign);if(java_is_true($result) == 1){

$ret = true;

}

}catch (\Exception $e) {

Logger::debug("_checkSign = " . $e-getMessage());}

return $ret;

}

如何用java讀取php的gzencode函數輸出的壓縮字符

在java中用Inflater.setInput()輸入PHP傳來的碼文,用Inflater.inflate()解壓出原文.

再用new String(原文, "GBK");轉換成java字符串。

java調用php,php如何獲取參數

java 里面有一個URL對象,比如:

在php里面獲取參數:

echo $_GET['id'];

這樣就獲取了

新聞名稱:java獲取php數據 php獲取接口的json數據
網頁鏈接:http://m.kartarina.com/article22/dogigjc.html

成都網站建設公司_創新互聯,為您提供定制開發服務器托管網站策劃網站設計動態網站網站設計公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 97在线视频人妻无码| 无码国产精成人午夜视频一区二区 | 亚洲日韩精品无码专区加勒比| 亚洲私人无码综合久久网| 精品少妇人妻AV无码专区不卡 | 亚洲精品无码专区久久久| 免费无码成人AV在线播放不卡| 四虎成人精品国产永久免费无码 | 亚洲无码视频在线| 无码中文人妻视频2019| 久久久精品人妻无码专区不卡| 日韩精品无码一区二区三区免费| 无码日韩人妻AV一区二区三区| 亚洲av永久中文无码精品 | 白嫩少妇激情无码| 亚洲最大无码中文字幕| 无码熟妇人妻AV在线影院| 亚洲va中文字幕无码久久| 亚洲AV无码成人精品区在线观看| 亚洲国产精品无码久久九九 | 免费a级毛片无码a∨免费软件| 自拍偷在线精品自拍偷无码专区| 91久久九九无码成人网站| 免费无码又爽又刺激网站直播 | 免费无码婬片aaa直播表情| 亚洲成AV人片在线观看无码| 精品无码成人片一区二区 | 日韩精品无码成人专区| 精品爆乳一区二区三区无码av| 国产精品午夜福利在线无码| 无码中文av有码中文av| 国产成A人亚洲精V品无码| 亚洲日韩中文无码久久| 无码人妻久久一区二区三区蜜桃| 无码人妻H动漫中文字幕| 少妇无码AV无码专区线| 国产精品无码亚洲精品2021| 波多野结衣VA无码中文字幕电影| 亚洲Aⅴ在线无码播放毛片一线天| 日本无码WWW在线视频观看| 最新中文字幕av无码专区|