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 ,[]); //调用方法 |