在php中调用java接口吗,php 调用 java 接口

php 需要开启 curl模块

/*

* HTTP 请求函数封装

*/

function http_request_cloudzone($url, $data){

//var_dump($url."test");

if(!$url){

return "";

}

$ch = curl_init ();

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //禁用证书

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt ($ch, CURLOPT_HEADER, 0); //头文件信息做数据流输出

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10);

curl_setopt ($ch, CURLOPT_POST, 1); //启用POST提交

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$output = curl_exec ($ch);

curl_close ($ch);

return json_decode($output, true);

}

// 请求获取登陆用户信息

// http://localhost/wiki/test.php?userId=71D68F2D8C780B6D785F392ED024B701359CBF3CCBDB25D5&appId=CNGDLG0200000000000&interfacesURL=http://192.168.102.114/cloudzone/

// {\"appId\":\"CNGDLG0200000000000\", \"userId\":\"71D68F2D8C780B6D785F392ED024B701359CBF3CCBDB25D5\"}"

// rsp { ["appInfo"]=> array(3) { ["appId"]=> string(19) "CNGDLG0200000000000" ["webUrl"]=> string(36) "http://192.168.113.127/wiki/test.php" ["webUrlWan"]=> string(36) "http://192.168.113.127/wiki/test.php" } ["serverResult"]=> array(2) { ["resultCode"]=> int(0) ["resultMessage"]=> string(6) "成功" } ["teacherClassList"]=> array(0) { } ["token"]=> string(112) "183cfa43aa68d5b3c393753e173e914626b859e14ee40df68ba289324d8706d7679be1e96c2a3a2e333d6972bd521b9b4fb45e0d6dd1e2ee" ["userInfo"]=> array(11) { ["encryptedUserId"]=> string(48) "71D68F2D8C780B6D785F392ED024B701359CBF3CCBDB25D5" ["gender"]=> string(0) "" ["lastModifyTime"]=> string(19) "2016-02-29 09:49:02" ["loginName"]=> string(4) "test" ["schoolId"]=> string(19) "CNGDLG0600000000001" ["schoolName"]=> string(6) "学校" ["schoolSection"]=> string(14) "PRIMARY_SCHOOL" ["staticPassword"]=> string(16) "a83a68c6e9967731" ["userAccount"]=> string(19) "CNGDLG0600000000025" ["userName"]=> string(4) "test" ["userType"]=> string(1) "2" } ["xmppInfo"]=> array(3) { ["xmppHeartbeatPort"]=> string(4) "9090" ["xmppIp"]=> string(22) "http://192.168.102.114" ["xmppServer"]=> string(34) "http://http://192.168.102.114:9090" } }

// 新增TW教育云鉴权同步登陆入口方法

function dotwauthentication(){

if(!$this->get['2'] || !$this->get['3'] || !$this->get['4']){

$this->header("");

}

$url = $this->get['2'];

$data['userId'] = $this->get['3'];

$data['appId'] = $this->get['4'];

$data_json = json_encode($data);

$url = $url."/ClientApi/getAuthenticationInfo";

$output_json = $this->http_request_cloudzone($url, $data_json);

if($output_json){

$rsp_code = $output_json["serverResult"]["resultCode"];

if($rsp_code == 0){

// 请求成功

$twuserid= $output_json["userInfo"]["userAccount"];

$twuserpwd= $output_json["userInfo"]["staticPassword"];

$twusername= $output_json["userInfo"]["userName"];

$des_java_c = new DES_JAVA();

$twuserpwd= $des_java_c->decrypt($twuserpwd);

$this->dotwsysuser($twusername, $twuserid, $twuserpwd);

}else{

//请求失败

$this->header('');

}

}else{

//请求失败

$this->header('');

}

}

C#调用JAVA接口WSSE方式用WebClient方式

C#读取JAVA的WSSE接口的调用代码: 用webclient 方式: /// /// 调用java cxf ws_security加密的服务wcf客户端对应的加密类 ...

android NDK 实用学习(五)-c++端调用java接口

1,阅读此文章前请阅读前面文章,以免阅读出现障碍: android NDK 实用学习(一)-获取java端类及其类变量 android NDK 实用学习(二)-java端对象成员赋值和获取对象成员值 ...

C#调用java接口报“Fault occurred while processing”异常问题

服务在通常项目中总是要用到的C#的webservice.wcf,还有第三方的,比如java服务.一般来说调用都不会有什么问题,因为服务的标准都是一样的.要注意的就是:1.参数个数匹配:2.参数类型和返 ...

对接第三方平台JAVA接口问题推送和解决

前言 本节所讲为实际项目中与第三方对接出现的问题最后还是靠老大解决了问题以此作为备忘录,本篇分为三小节,一小节解析Java加密接口数据,二小节解析XML文件需注意问题,最后一节则是请求Java Soa ...

C#调用Java WebService int、DateTime等类型值接收到为空

今天在调用Java接口时,有个int类型的值很明确的传了1,但接口一直返回没有接收到这个值. 解决方法: 引用接口时,VS会自动生成一个类,类中对于非string类型的字段会生成一个xxSpecifi ...

java接口调用——webservice就是一个RPC而已

很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...

规则引擎集成接口(七)规则引擎调用Java类

规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...

Java调用webservice接口方法

java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例

转自:  http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...

随机推荐

Maven使用archetype迅速生成项目骨架

archetype意思是"原型",相当于项目模板.archetype是maven的一个插件,相当于模板工具包. 一个十分重要的mvn指令:mvn 插件名:目标名maven自带三个内 ...

HTML常用标签与表格标签

超链接标签: 超链接的文字 _blank或new是在新网页中打开 ...

mysql学习笔记 第七天

数据库的备份与还原 数据库的备份与还原是后面章节的内容,但是在学习的时候已经需要数据的备份与还原了,所以就了解了一下.数据库有很多种备份方法,我学习的是其中的一种 备份: 对于数据库的备份: C:&g ...

社保系列11《ATR》

1)  冷复位(Cold Reset) 当IC卡的电源电压和其他信号从静止状态中复苏且申请复位信号时,IC卡产生的复位. 2)  热复位(Warm Reset) 在时钟(CLK)和电源电压(VCC)处 ...

(五)u-boot2013.01.01 for TQ210:《移植前的准备及u-boot初编译》

移植前的准备 移植前,要做的事情是搭建开发环境以及对U-boot源码的获取.首先说一下开发环境: 1.此次U-boot移植的硬件平台是天嵌的TQ210开发板: CPU:板载核心是S5PV210(Cor ...

ECMALL目录结构设置与数据库表

[Ecmall]ECMALL目录结构设置与数据库表   最近在做ecmall的开发,ecmall在开源方面还有待进步啊,官方没有提供开发文档,也没有关于系统架构组织的贡献,使用者都要自己从0开始,官方 ...

soap协议有get方式

今天去面试,被问到了这个问题.一时没想起来.考官的说法是没有 get,使用post 发请求.restful 有get put delete等谓词. 特地查了一下.记在下边.

Systemd 入门教程:命令篇

http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

java.sql.Date to java.util.Date

发这篇博文的题目可能无法直接表示内容,但是确实是java.sql.Date和java.util.Date. 今天在使用'net.sf.json.JSONObject'封装json数据的时候,碰到很奇怪 ...

Python自建logging模块

本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以通过HTTP协议调用PHP接口。一种常见的方法是使用Java的HttpURLConnection或HttpClient来发送HTTP请求,然后解析PHP接口返回的HTTP响应。具体步骤如下: 1. 创建URL对象,指定PHP接口的地址。 2. 打开连接,获取HttpURLConnection对象或HttpClient对象。 3. 设置请求方法、请求头、请求参数等。 4. 发送请求,获取响应状态码、响应头、响应数据等。 5. 解析响应数据,根据PHP接口返回的数据格式进行解析。 6. 关闭连接,释放资源。 下面是一个简单的Java代码示例,演示如何调用PHP接口: ```java try { // 创建URL对象 URL url = new URL("http://example.com/api.php"); // 打开连接,获取HttpURLConnection对象 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置请求方法 conn.setRequestMethod("POST"); // 设置请求头 conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Accept", "application/json"); // 设置请求参数 String data = "{\"key\":\"value\"}"; OutputStream os = conn.getOutputStream(); os.write(data.getBytes()); os.flush(); os.close(); // 发送请求,获取响应状态码和响应数据 int statusCode = conn.getResponseCode(); InputStream is = (statusCode == 200) ? conn.getInputStream() : conn.getErrorStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String response = ""; String line; while ((line = br.readLine()) != null) { response += line; } br.close(); conn.disconnect(); // 解析响应数据 JSONObject jsonObj = new JSONObject(response); String result = jsonObj.getString("result"); // 处理响应数据 // ... } catch (Exception e) { e.printStackTrace(); } ``` 注意,这只是一个简单的示例,实际应用需要根据具体情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值