php向服務器接口發送請求實例

效果:
在這裏插入圖片描述
本地環境(基於tp5.0)代碼:

<?php
namespace app\index\controller;
use think\Request;
class Index
{
    public function index()
    {
        return view('index');
    }
	/**
	*調用https_request方法向一個服務器的指定接口發送請求,獲取用戶的數據
	**/
	public function lists()
    {
        $url = "http://www.xxx.com/test2.php";
		$res = $this->https_request($url);
		$res = json_decode($res,true);
		print_r($res);
    }
    /**
    *封裝一個https_request方法方便調用
    **/
	public function https_request($url,$data=null)
	{
		$curl = curl_init();
		curl_setopt($curl,CURLOPT_URL,$url);
		curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
		curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);
		if(!empty($data)){
			curl_setopt($curl,CURLOPT_POST,1);
			curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
		}
		curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
		//Content-Type: application/json 修改  zsh
		curl_setopt($curl, CURLOPT_HTTPHEADER, array(
			'Content-Type: application/json; charset=utf-8',
			'Content-Length: ' . strlen($data)
		));
		$output = curl_exec($curl);
		curl_close($curl);
		return $output;
	}
}

遠程服務器(http://www.xxx.com/test2.php )的代碼:

<?php
$a =[
	"id"=>22,
	"name"=>"linjianlong"
];
echo json_encode($a);
//在下方進行業務操作
?>  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章