您现在的位置是:首页 > PHP实例

李清波 2019-12-19 PHP实例 96

php使用curl方法请求java接口

CURL是一个非常强大的开源库,支持很多协议,我们可以使用curl方法解决PHP请求JAVA接口 

1.通过POST方法请求java接口:

function http_post_advertise($url,$data){        //封装curl方法
    $ch = curl_init();     //初始化
    curl_setopt($ch, CURLOPT_URL, $url);      //请求地址
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    //https协议需要以下两行,否则请求不成功
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);   
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    //post方法所需要的参数
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER,array());
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;        //返回所获取的方法
}
$url='https://www.tpf.com';
$data1='PC';
$data2='1530523065500000';
$data_article=[
'product'=>$data1,
    'companyId'=>$data2,
    'advBitId'=>'1531116879086000'
];
$http_article = http_post_advertise($url,$data_article);   //调用方法
$arr_article = json_decode($http_article,true);    //获取json数据并转换成php能解析的格式
$res_article = $arr_article['result']; //获取json数据result部分


2.通过GET方法请求JAVA接口:

$a="hello";
$url='http://47.100.105.191:8081/casecode/api/phptest.do?test='.$a;
$html = file_get_contents($url);
$arr = json_decode($html,true);


其他接口

接口文档示例

UID=Y100000127&DATA= 
{
    "request": {
        "head": {
            "funcode": "DCDACCYE",
            "userid": "Y100000127"
        },
        "body": {
…………… //见具体API接口说明
        }
    }
}

我们做PHP很少看到类似这样的接口

也就是UID字符串拼接一个DATA json数据,在java里面应该是分开请求的,但我们用PHP的时候,需要把他们拼接起来再发送

我们用post方式提交作为示例

$url = 'UID=Y100000127&DATA={"request": {"head": {"funcode": "DCDACCYE", "userid": "Y100000127"}, "body": {} } }';
$http_article = http_post_advertise($url,[]);   //调用方法


评论