Maison  >  Article  >  développement back-end  >  Comment php utilise-t-il curl pour recevoir l'adresse POST, qui est une méthode pour créer une interface ?

Comment php utilise-t-il curl pour recevoir l'adresse POST, qui est une méthode pour créer une interface ?

不言
不言original
2018-08-03 14:20:571988parcourir

Cet article vous présente comment PHP utilise curl pour recevoir l'adresse POST et créer une interface. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La soi-disant interface, pour parler franchement, est un contrôleur sans vue. Les deux parties doivent simplement définir le format et la signature pour assurer la sécurité des données. La plupart d'entre elles sont des chaînes json. document, c'est le plus important. Vous pouvez utiliser ShowDoc pour écrire, rechercher sur Baidu, c'est un produit open source gratuit très utile

/*这是PHP创建的一个小接口*/
<?php
$mysqli = new mysqli(&#39;localhost&#39;, &#39;root&#39;, &#39;123456&#39;,&#39;interfacetest&#39;);
mysqli_query($mysqli,"set names utf8");
if ($mysqli->connect_error) {
    die(&#39;Connect Error (&#39; . $mysqli->connect_errno . &#39;) &#39;
            . $mysqli->connect_error);
}
$output = array();
$user_by= $_POST[&#39;user_by&#39;];$uid = $_POST["uid"];
if (empty($user_by)) {
    $output = array(&#39;data&#39;=>NULL, &#39;info&#39;=>&#39;this is null!&#39;, &#39;stats&#39;=>1);
    exit(json_encode($output));
}
if ($user_by == &#39;get_userinfo&#39;) {//调用获取用户信息的接口
    //查询数据库
    $sql="select * from user WHERE user_id=$uid";
    $result =$mysqli->query($sql);
    $userInfo = $result -> fetch_row();
    if($userInfo){//如果数据存在输出数据
        $output = array(
            &#39;data&#39; => array(
                &#39;userInfo&#39; => $userInfo,
            ),
            &#39;stats&#39;=>0
        );
    }else{
        $output = array(
            &#39;data&#39; => array(
                &#39;userInfo&#39; => $userInfo,
            ),
            &#39;stats&#39;=>1
        );
    }
    exit(json_encode($output));//把结果反馈给客户端
} 
$mysqli->close();
?>
**********************************************************************************
/*这是一个接口调用的方法(post)*/
$url = &#39;http://localhost/testmysql.php&#39;;
$sl_data=array(
    &#39;uid&#39;=>1,
    &#39;user_by&#39;=>&#39;get_userinfo&#39;
);
$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);

Articles connexes recommandés :

Comment remplacer la balise img dans le code html selon différentes conditions en PHP

Comment utiliser le php à 32 chiffres pour crypter et décrypter les identifiants (avec code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn