文章摘要
这篇文章介绍了如何利用百度地图API(百度地图API接口)通过PHP代码进行接口调用。文章详细描述了获取地图URL的过程,包括使用`curl`函数发送请求和处理响应。代码中定义了`GetUrls`函数,用于从给定的`sitemap`中提取URL,并通过API提交这些URL。此外,文章还解释了`curl`函数的参数设置,包括URL构造、数据(post请求)和认证信息的处理。最终,代码通过检查返回结果的布尔值来确定提交的`成功`或`失败`状态。文章的核心内容围绕如何通过PHP代码实现地图API的主动提交功能。
<?php//baidu push api//https://ziyuan.baidu.com/linksubmit/index 这里提供的 api 接口,普通收录,主动提交,php代码$api = 'http://data.zz.baidu.com/urls?site=网址&token=秘钥'; //get site urlsfunction GetUrls($api):string{ $site = "网站地图"; //获取 xml 信息 $XmlUrls = curl($site,null); //将 xml 转为数组 $resource = xml_parser_create(); xml_parse_into_struct($resource,$XmlUrls,$value,$index); xml_parser_free($resource); //$urlArr 即为接受所有 url 的数组 $urlArr = []; foreach ($value as $content){ if ($content["tag"] === "LOC"){ $urlArr[] = $content["value"]; } } //开始上传 $response = curl($api,$urlArr,1); //将响应 json 转为 对象 $result = json_decode($response); if ($result->success != 0){ return "主动提交成功!"; }else{ return "主动提交失败!"; }} function curl($url,$params,$is_post = 0){ $ch = curl_init(); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,60); curl_setopt($ch,CURLOPT_TIMEOUT,60); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);//禁止验证对等证书,默认为true curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);//检查服务器SSL证书中是否存在一个公用名,值0|2, if($is_post){ curl_setopt($ch,CURLOPT_POST,true); curl_setopt($ch,CURLOPT_POSTFIELDS,$params); curl_setopt($ch,CURLOPT_URL,$url); }else{ if($params){ curl_setopt($ch,CURLOPT_URL,$url.'?'.$params); }else{ curl_setopt($ch,CURLOPT_URL,$url); } } $response = curl_exec($ch); return $response;}echo GetUrls($api);© 版权声明
文章版权归作者所有,未经允许请勿转载。