首頁 > 後端開發 > php教程 > php get和post兩種方式用curl呼叫介面方法詳解

php get和post兩種方式用curl呼叫介面方法詳解

伊谢尔伦
發布: 2023-03-12 13:10:01
原創
3171 人瀏覽過

首先是客戶端執行方法ApiModel.php:

<?php 
/**
   * 模拟post进行url请求
   * @param string $url
   * @param array $post_data
   */
  function request_post($url = &#39;&#39;,$ispost=true, $post_data = array()) {
    if (empty($url) || empty($post_data)) {
      return false;
    }
    
    $o = "";
    foreach ( $post_data as $k => $v ) 
    { 
      $o.= "$k=" . urlencode( $v ). "&" ;
    }
    $post_data = substr($o,0,-1);
    $key=md5(base64_encode($post_data));
    if($ispost){
      $url=$url;
    }else{
      $url = $url.&#39;?&#39;.$post_data;
    }
    
    
    $curlPost = &#39;key=&#39;.$key;
    header("Content-type: text/html; charset=utf-8");
    $ch = curl_init();//初始化curl
    curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页
    curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    if($ispost){
      curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
      curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
    }
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    return $data;
  }
  ?>
登入後複製

客戶端呼叫方法,可以在此配置基本資訊api.php:

<?php 
require &#39;ApiModel.php&#39;;
function testAction(){
    $url = &#39;接口地址&#39;;
    $post_data[&#39;appid&#39;]    = &#39;10&#39;;
    $post_data[&#39;appkey&#39;]   = &#39;cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ&#39;;
    $post_data[&#39;member_name&#39;] = &#39;zsjs124&#39;;
    $post_data[&#39;password&#39;]  = &#39;123456&#39;;
    $post_data[&#39;email&#39;]  = &#39;zsjs124@126.com&#39;;
    //$post_data = array();
    $res = request_post($url,$ispost=true,$post_data);    
    print_r($res);

  }
testAction();
?>
登入後複製

伺服器的介面函數test.php:

<?php 
function serverapi(){
  $key=&#39;57173d6ad842d807443ee0db91fed323&#39;;
  if($_GET&&$_GET[&#39;appkey&#39;]==&#39;cmbohpffXVR03nIpkkQXaAA1Vf5nO4nQ&#39;||$_POST&&$_POST[&#39;key&#39;]===$key){
    $arr=array(&#39;name&#39;=>&#39;huanglu&#39;,&#39;password&#39;=>&#39;123456&#39;);
    echo json_encode($arr);
  }else{
    exit(&#39;非法访问!&#39;);
  }
}
serverapi();
?>
登入後複製

以上是php get和post兩種方式用curl呼叫介面方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板