php基于curl实现必应Bing API推送方法实例

<?php
$arr = array(
    'https://www.newbii.cn/' => array(
        'url'  => array("https://www.newbii.cn/Bdpush_lazy_sitemap_1.xml"),//这里使用的是百度推送懒人版插件地图
        'bing_key' => "xxxxxxxxxxxxxxxxxxxxxxxxxx"//你的Bing API密钥
    ),
);
foreach ($arr as $i => $j) {
	//网站地址
    $website = $i;
    //站点地图
    $url = $j['url'];
    //必应key
    $bing_key = $j['bing_key'];
    
    //配额接口调用地址
    $quota_api = "https://ssl.bing.com/webmaster/api.svc/json/GetUrlSubmissionQuota?siteUrl={$website}&apikey={$bing_key}";
    
    //URL提交API接口调用地址
    $seturl_api = "https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlBatch?apikey={$bing_key}";
    
    $s = file_get_contents($quota_api);
    $s = json_decode($s, true);
    
    echo "{$website} 必应今日剩余配额:".$s['d']['DailyQuota']."  本月剩余配额:".$s['d']['MonthlyQuota'];echo '<br>';
    echo($s['d']['DailyQuota']);
    if($s['d']['DailyQuota']){
        $ch = curl_init();
        
        //防https错误
        $xmlresponse = curl_exec($ch);
        $xml = simplexml_load_string($xmlresponse);
        
        
        $urls = array();
        foreach ($url as $key => $value) {
            curl_setopt($ch, CURLOPT_URL, $value);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $xmlresponse = curl_exec($ch);
            $xml = simplexml_load_string($xmlresponse);
            foreach ($xml as $key => $value) {
            	$urls[] = $value->loc;
            }
            
        }
        //必应api提交每次上限500条
        if ($s['d']['DailyQuota']>=500) {
            $max = 500;
        } else {
            $max = $s['d']['DailyQuota'];
        }
        $urls = array_slice($urls, 0,$s['d']['DailyQuota']);
        if(!$urls){
            echo $website.' 今日配额已全部提交!';continue;
        }
        $url_data = array_chunk($urls, $max, true);
        
        foreach ($url_data as $key => $value) {
            $url_str = implode(',',$value);
            $url_arr = explode(',',$url_str);
            $data = array(
                "siteUrl" => $website,
                "urlList" => $url_arr
                );
            $ch = curl_init();
            $options =  array(
                CURLOPT_URL => $seturl_api,
                CURLOPT_POST => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_POSTFIELDS => json_encode($data),
                CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
            );
            curl_setopt_array($ch, $options);
            $result = curl_exec($ch);
            echo "{$website} 必应提交信息:".$result;echo '<br>';
        }
    }

}

必应站长注册地址: https://www.bing.com/toolbox/webmaster/ 

API密钥:

php基于curl实现必应Bing API推送方法实例 - 第1张 - 菜鸟建站

猜你喜欢

PHP教程:php实现敏感词过滤 停止词实例(附敏感词库下载)

PHP教程:php实现敏感词过滤 停止词实例(附敏感词库下载)

敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。在实现敏感词过滤的算法中,我们必须要减少运算,而 DFA 在 DFA 算法中几乎没有什么计算,有的只是状态的转换。所以想更高效的进行敏感词的过滤,需要使用 DFA 算法。/**  * Notes: [DoFilterWords ...

PHP教程:循环每4个li包裹一个div

PHP教程:循环每4个li包裹一个div

有的时候我们需要做的是每4个循环在数据的输出周围包装一个div。那么要怎么实现呢?以下示例代码...

发表评论