php对接java接口
1、php curl 传参形式
public function send($url,$postData){
$ch = curl_init();
$headers = array("Content-type: application/json;charset='utf-8'",
"Accept: application/json", "Cache-Control: no-cache", "Pragma: no-cache");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$data = curl_exec($ch);
if ($data === false || $data === null) {
$error_code = curl_errno($ch);
curl_close($ch);
return $error_code;
} else {
curl_close($ch);
return json_decode($data,true);
}
}
public function send2($url){
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 0);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
if ($data === false || $data === null) {
$error_code = curl_errno($curl);
curl_close($curl);
return $error_code;
} else {
curl_close($curl);
return json_decode($data,true);
}
}
$url = "";
send($url,json_encode([]));//以json body方式传参
$url .="?param1=1¶m2=2";
send2($url); //params 传参
2、java加密类型、对应php类型
/***********************加密*************************/ String txt="66666";
String key="123456781234567812345678"; // 必须24位
//加密
String keyStr = key;
byte key_byte[] = keyStr.getBytes();// 3DES 24 bytes key
SecretKey k = new SecretKeySpec(key_byte, "DESede");
javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("DESede");
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, k);
byte[] resultByte = cipher.doFinal(txt.getBytes("utf-8")); return new String(resultByte, "UTF-8");
/***********************解密*************************/
try {
//str 加密串 pass 密钥
SecretKey deskey = new SecretKeySpec(pass.getBytes(), 'DESede'); Cipher c1 = Cipher.getInstance('DESede');
c1.init(Cipher.ENCRYPT_MODE, deskey);
byte[] resultByte = c1.doFinal(Base64.decode(str));
return new String(resultByte, "UTF-8");
} catch (Exception e) { }
php:
class a{
public $key = '123456781234567812345678';
public $method = 'DES-EDE3';//加密方法 加密模式有:DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。
public $options = OPENSSL_RAW_DATA;//数据格式选项(可选)
public $iv = '';//加密初始化向量(可选
public function encrypts($data) {
$result = openssl_encrypt($data, $this->method, $this->key,$this->options); return base64_encode($result);
}
public function decrypt($encrypted) {
$encrypted = base64_decode($encrypted); $sign = openssl_decrypt($encrypted, $this->method, $this->key,$this->options); return $sign; }
}
php对接java接口的更多相关文章
- 对接第三方平台JAVA接口问题推送和解决
前言 本节所讲为实际项目中与第三方对接出现的问题最后还是靠老大解决了问题以此作为备忘录,本篇分为三小节,一小节解析Java加密接口数据,二小节解析XML文件需注意问题,最后一节则是请求Java Soa ...
- java接口对接——别人调用我们接口获取数据
java接口对接——别人调用我们接口获取数据,我们需要在我们系统中开发几个接口,给对方接口规范文档,包括访问我们的接口地址,以及入参名称和格式,还有我们的返回的状态的情况, 接口代码: package ...
- php 对接java短信接口带有英文逗号就无法通过
在对接短息接口时,对方是java接口,要求content两次编码 短信内容(Content)发起请求前必须进行URL转码.例如对于短信内容为“中文短信abc”,转码过程如下(java语言): Stri ...
- 大数据中HBase的Java接口封装
该文前提为已经搭建好的HBase集群环境,参见 HBase集群搭建与配置 ,本文主要是用Java编写一个Servlet接口,部署在Tomcat服务器上,用于提供http的接口供其他地方调用,接口中集成 ...
- PHP DES-ECB加密对接Java解密
最近公司有个业务,需要对接第三方接口,但是参数是需要加密的,对方也只提供了一个java的demo,在网上到处搜索,没有找到直接就能用的方法,后来还是跟公司的Android工程师对接出来的,在这里记录一 ...
- java接口调用——webservice就是一个RPC而已
很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...
- java 接口的作用和好处
1.java 接口的作用 http://blog.csdn.net/hack_bug/article/details/7634737 2.一位Java大牛的回答 很多JAVA初级程序员对于接口存在的意 ...
- java接口
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- java接口的嵌套
java接口 1.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值 2.接口中的方法默认都是 public abstract ...
- java 接口和抽象类的区别
java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...
随机推荐
- AcWing 841. 字符串哈希 2022/5/25
include include using namespace std; typedef unsigned long long ULL; char str[N]; //存放字符串 int h[N], ...
- 嵌在Android app的html 拨打不了电话,发送不了短信
html嵌在app里面的 <a href="tel:xxx"></a> <a href="sms:phoneNmber?body=1111& ...
- uniapp引入微信小程序自定义视频组件--记录
官方文档:https://zh.uniapp.dcloud.io/tutorial/miniprogram-subject.html 在 pages.json同级目录下 创建目录和文件: wxcomp ...
- (0303)《计算机体系结构 量化研究方法》PDF
(01) https://blog.csdn.net/konghhhhh/article/details/106828402 存储器相关 (1) https://blog.csdn.net/iva_ ...
- vue 中的 provide/inject
provide/inject 是 vue 2.2.0 版本新增 类型: provide:Object | () => Object inject:Array<string> | { ...
- Antlr语法优化过程记录
背景 Modelica Spec中的语法文件在Antlr下表现很糟糕,至少是1个数量级的糟糕的性能表现 理论 语义谓词减慢速度 ATN图中多分支转换为单分支 可选放在词法开头和语法的结尾 避免前导可选 ...
- vue 点击元素滚动到指定位置(滑动到指定位置对应标签自动选中)
一:各个模块不相同情况 1.内容部分<div class="anchor"> <div v-for="(item,index) in anchors&q ...
- 添加vscode到windows的右键菜单
保存为bat Windows Registry Editor Version 5.00 ; Open files [HKEY_CLASSES_ROOT\*\shell\Open with VS Cod ...
- 查询最上活动的activity
adb shell dumpsys window windows | grep mCurrent
- YieldReturn语法解析
/* * * 学习Yield Return 语法 * 使用两个方法,显示1 - 100之间的全部偶数 * * */ using System;using System.Collections.Gene ...