文章摘要
本文介绍了一种通过PHP代码实现主动提交的方式,用于获取百度地图API的URL列表。代码中定义了`GetUrls`函数,该函数通过curl函数发送HTTP请求,并解析返回的JSON响应,判断主动提交是否成功。其中,`curl`函数配置了超时时间和返回响应内容,支持POST请求和参数传递。整体核心是通过PHP代码实现了一种主动提交获取网络资源的方法,适用于需要批量处理URL提交的应用场景。
<?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);© 版权声明
文章版权归作者所有,未经允许请勿转载。



