php使用curl方法请求java接口

Posted 佰草伐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php使用curl方法请求java接口相关的知识,希望对你有一定的参考价值。

 

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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接口:

1
2
3
4
$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);

 

其他接口

接口文档示例

1
2
3
4
5
6
7
8
9
10
11
12
UID=Y100000127&DATA= 
{
    "request": {
        "head": {
            "funcode""DCDACCYE",
            "userid""Y100000127"
        },
        "body": {
…………… //见具体API接口说明
        }
    }
}

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

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

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

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

以上是关于php使用curl方法请求java接口的主要内容,如果未能解决你的问题,请参考以下文章

PHP Curl请求Https接口

php(curl请求)测试接口案例

使用PHP中的curl发送请求

如何在php中获取curl请求的请求头信息及相应头信息

转:PHP中的使用curl发送请求(GET请求和POST请求)

php原生curl接口的请求