바 이 두 실시 간 푸 시 api 인터페이스 응용 예제

사이트 의 질 이 좋 은 사 이 트 는 바 이 두 역장 플랫폼/데이터 제출/sitemap 란 에서 실시 간 푸 시 기능 을 볼 수 있 습 니 다.현재 이 도 구 는 초청 개방 입 니 다.바 이 두 의 실시 간 푸 시 api 인 터 페 이 스 는 우리 가 새로 발표 한 글 을 실시 간 으로 푸 시 하여 바 이 두 가 첫 번 째 시간 에 수록 하도록 보장 합 니 다.
 
바 이 두 역장 플랫폼

바 이 두 역장 플랫폼 을 열 고 실시 간 으로 푸 시 하 는 새로운 데이터 인 터 페 이 스 를 누 르 면 token 이 있 는 api 푸 시 주 소 를 얻 을 수 있 습 니 다.
 
  http://zhanzhang.baidu.com/  
 
네티즌 이 쓴 phop 실시 간 푸 시 코드 를 공유 합 니 다. 
php 는 새로 발 표 된 글 을 실시 간 으로 푸 시 합 니 다.
socketopen 방식 푸 시 sitemap

 function sitemap_ping_baidu($urls){
         $baidu_ping_url = 'ping.baidu.com';
         $get = '/sitemap?site=www.yourdomain.com&resource_name=sitemap&access_token=xxxxxxx';
         $port=80;
         if ( ( $io = fsockopen( $baidu_ping_url, $port, $errno, $errstr, 50 ) ) !== false )  {
             $send = "POST $get HTTP/1.1"."rn";
             $send .= 'Accept: */*'."rn";
             $send .= 'Cache-Control: no-cache'."rn";
 
           $send .= 'Host: '.$baidu_ping_url."rn";
           $send .= 'Pragma: no-cache'."rn";
           //$send .= "Referer: http://".$url.$get."rn";
           //$send .= 'User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)'."rn";
           
           $xml = '<?xml version="1.0" encoding="UTF-8"?><urlset>';
           foreach($urls as $url){
               $xml .= '<url>';
               $xml .= '<loc><![CDATA['.$url.']]></loc>';
               $xml .= '<lastmod>'.date('Y-m-d').'</lastmod>';
               $xml .= '<changefreq>monthly</changefreq>';
               $xml .= '<priority>0.8</priority>';
               $xml .= '</url>';
           }
           $xml .= '</urlset>';

           $send .= 'Content-Length:'.strlen($xml)."rn";
           $send .= "Connection: Closernrn";

           $send .= $xml."rn";

           fputs ( $io, $send );

           $return = '';
           while ( ! feof ( $io ) )
           {
               $return .= fread ( $io, 4096 );
           }
           return $return;
       }else{
           return false;
       }
   }
$return = sitemap_ping_baidu(array('http://www.yourdomain.com/a.php?id=1'));

푸 시 후 바 이 두 가 되 돌아 올 xml 문서

 <?xml version="1.0" encoding="UTF-8"?>
     <methodResponse>
         <params>
             <param>
                 <value>
                     <int>200</int>
                 </value>
             <param>
         </params>     
     </methodResponse>
상태 코드 의 의 미 는 다음 과 같다.
200
사용 방식 오류 없 이 되 돌아 오 는 내용 이 정확 한 지 더 살 펴 봐 야 합 니 다.
400
필수 매개 변수 가 제공 되 지 않 았 습 니 다.
405
지원 되 지 않 는 요청 방식,POST 방식 으로 만 데 이 터 를 제출 할 수 있 습 니 다.
411
HTTP 헤더 에 Content-Length 필드 가 없습니다.
413
푸 시 데이터 가 너무 커서 10MB 의 제한 을 초과 하 였 다.
422
HTTP 헤드 에 있 는 Content-Length 성명 의 길이 와 실제 보 낸 데이터 길이 가 일치 하지 않 습 니 다.
500
역장 플랫폼 서버 내부 오류

좋은 웹페이지 즐겨찾기