php如何使用curl接收POST地址即建立一個介面的方法

來源:互聯網
上載者:User
這篇文章給大家介紹的內容是關於php如何用curl接收POST地址即建立一個介面的方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。

所謂介面,說白了就是一個沒有視圖的控制器,雙方定義好格式及簽名保證資料安全性就好,絕大部分都是json串,至於介面文檔,算是最重要的了,可以用ShowDoc寫,百度一下,很好用的免費開源產品

/*這是PHP建立的一個小介面*/<?php$mysqli = new mysqli('localhost', 'root', '123456','interfacetest');mysqli_query($mysqli,"set names utf8");if ($mysqli->connect_error) {    die('Connect Error (' . $mysqli->connect_errno . ') '            . $mysqli->connect_error);}$output = array();$user_by= $_POST['user_by'];$uid = $_POST["uid"];if (empty($user_by)) {    $output = array('data'=>NULL, 'info'=>'this is null!', 'stats'=>1);    exit(json_encode($output));}if ($user_by == 'get_userinfo') {//調用擷取使用者資訊的介面    //查詢資料庫    $sql="select * from user WHERE user_id=$uid";    $result =$mysqli->query($sql);    $userInfo = $result -> fetch_row();    if($userInfo){//如果資料存在輸出資料        $output = array(            'data' => array(                'userInfo' => $userInfo,            ),            'stats'=>0        );    }else{        $output = array(            'data' => array(                'userInfo' => $userInfo,            ),            'stats'=>1        );    }    exit(json_encode($output));//把結果反饋給用戶端} $mysqli->close();?>**********************************************************************************/*這是一個介面調用的方法(post)*/$url = 'http://localhost/testmysql.php';$sl_data=array(    'uid'=>1,    'user_by'=>'get_userinfo');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);//要訪問的地址curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//執行結果是否被返回,0是返回,1是不返回curl_setopt($ch, CURLOPT_POST, 1);// 發送一個常規的POST請求curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($sl_data));$output = curl_exec($ch);//執行並擷取資料echo $output;curl_close($ch);
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.