php百度監測文章收錄返回Found的原因及解決辦法!

今天用php參照網上的資料寫了一個百度文章監測收錄的功能,但是用起來發現返回結果全是收錄的,這就不對了,明明很多都沒收錄,就檢查返回結果發現爲

點擊Found鏈接打開是個驗證框,這到底是啥意思,百度能監測到機器查詢的嗎?懵逼了!

找原因找了一下午,最後找到原因了

現在百度這邊已經開啓了https,所有的查詢都是通過https這邊才能正常的查詢

function baidu($url) {

//僞造頭部信息
  $header = array (
        "Host:www.baidu.com",
        "Content-Type:application/x-www-form-urlencoded",//post請求
        "Connection: keep-alive",
        'Referer:https://www.baidu.com',
        'User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; BIDUBrowser 2.6)'
    );

  $url = 'https://www.baidu.com/s?ie=UTF-8&wd='.urlencode($url);
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt ($curl, CURLOPT_HTTPHEADER, $header );
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  
  $data = curl_exec($curl);
  //var_dump($data);
  //exit();
  curl_close($curl);
  if(strpos($data, '沒有找到該URL') || strpos($data, '很抱歉')) {
   return 0;
  } else {
   return 1;
  }
}

修改後代碼可以正常的返回查詢結果進行監測!

?>

發佈了114 篇原創文章 · 獲贊 31 · 訪問量 39萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章