sunlynet新尼网络|顺德网站建设,SEO优化,微信公众号开发,响应式外贸网站,官网小程序

公司新闻

关注我们:

php的get、post请求API方法及代码详解

首页我们在php开发当中,避免不用调用API数据,而有些数据是需要php后端直接调用或发出请求。在网上这个大千世界也许有很多文章都有写到,但不一定复制下来就能用,也有可能是运行环境问题,在这里我将实现项目中的这方面代码分享出来,并作出详情讲解。

一、php get API数据,并对数据作处理

// 获取外部API数据
$weather = curl_init(); //API资源初始化新的会话
curl_setopt($weather,CURLOPT_URL,"API数据网址"); //设置API资源的获取地址
curl_setopt($weather, CURLOPT_SSL_VERIFYPEER, false); //如果接口URL是https的,我们将其设为不验证,如果不是https的接口,这句可以不用加
curl_setopt($weather,CURLOPT_RETURNTRANSFER,true);//设置curl_exec()获取的信息以文件流的形式返回$basic_settings = curl_exec($weather); //将get到的API数据对象赋值到变量
curl_close($weather); //关闭会话
$basic_settings=json_decode($basic_settings,true);//将json格式转化为数组格式,方便使用

其实在php中以对象形式直接使用对象的参数也是可以的,只不过用起来会有很多 -> 连接符,而数组的使用是["参数名"],看自己哪个方便就用哪个。


二。php POST 数据,使用发送短信请求

//发短信
$tjpc="".time().""; //只作随机数,不能重复所以读时间
$usr="用户名";
$pwd="密码";
$yzm="企业号";
$mobile="手机号码";
$msgs="【签名】短信内容";

//POST函数
function Post($curlPost,$url){
$curl = curl_init(); //API资源初始化新的会话
curl_setopt($curl, CURLOPT_URL, $url); //设置请求资源
curl_setopt($curl, CURLOPT_HEADER, false); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
$return_str = curl_exec($curl);  //发送数据,返回状态到变量,但不输出
curl_close($curl); 

//return $return_str; //测试有必要时,输出返加的状态数量。
}

$target = "http://127.0.0.1:8088/sms_utf.jsp";  //请求地址

$post_data = "usr=".$usr."&pwd=".$pwd."&yzm=".$yzm."&tjpc=".$tjpc."&mobile=".$mobile."&msg=".rawurlencode("".$msgs.""); //请求发送的参数
Post($post_data, $target); //执行POST请求

在前端也是可以用JQ请求和发送,但还有个跨域的问题没有解决,因为不是任何API都是可以自己掌控授权。就算一些公开的API,如百度地址这些通过JQ请求都会有跨域问题。

如果大家有更好的想法用法,也可以分享一下。


上一篇: 未来将会有更多企业选择开发微信小程序
下一篇:没有了
X
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息