curl採集亂碼(非編碼問題)
阿新 • • 發佈:2019-02-18
採集網址時發現是亂碼,但用chrome編碼轉換後還是亂碼,於是確定不是編碼問題。
找到原因是,user_agent的問題,需要curl模擬瀏覽器訪問才能得到正常的資料。
function curlx() { header("Content-Type:text/html; charset=GBK"); $url = "http://tv.sohu.com/s2013/wstzbzhfh/"; $ch = curl_init();//curl $user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2"; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); $str = curl_exec($ch); //得到頁面內容 //$str = mb_convert_encoding($output, "utf-8", "GBK"); echo($str); curl_close($ch);//釋放控制代碼 }