簡體   English   中英

cURL PHP奇怪的字符

[英]cURL PHP strange characters

我需要您在PHP中使用cURL的幫助。

我試圖獲取一個頁面並將其轉換為JSON,但是我的cURL響應中包含一個奇怪的字符: 因此無法轉換它。 該字符顯示在我要查找的頁面的!doctype之前。

我設置了header('Content-type: text/html; charset=utf-8'); 在PHP中,我用

'Accept: text/xml,application/xml,application/xhtml+xml',
        'text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
        'Accept-Language: fr-fr,fr;q=0.7,en-us;q=0.5,en;q=0.3',
        'Accept-Charset: utf-8;q=0.7,*;q=0.7',
        'Keep-Alive: 300');

用於cURL。

cURL代碼:

$ch = curl_init($searchUrl);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);           
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);            
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_HEADER, $header);          
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');             
curl_setopt($ch, CURLOPT_USERAGENT, $agents[rand(0, count($agents) - 1)]);

$response = curl_exec($ch);

curl_close($ch);

有人有主意嗎?

這3個初始字符稱為BOM標記 用於確定文件的編碼。 您可以嘗試通過對HTML響應添加子字符串來剝離它:

$response = substr($response, 3);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM