2013-08-05 3 views
0

Мне нужна ваша помощь с cURL в PHP.cURL PHP странные символы

Я пытаюсь получить страницу и преобразовать ее в JSON, но у меня странный характер в ответе cURL: , поэтому я не могу его преобразовать. Эти символы отображаются непосредственно перед тегом ! страницы, которую я ищу.

Я поставил 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 Код:

$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); 

Каждый имеет идея?

ответ

2

Эти 3 начальных символа называются BOM mark. Он используется для определения кодировки файла. Вы можете попытаться разбить его, заменив ответ HTML:

$response = substr($response, 3); 
+0

Я работаю с клиентом CocoaRest по моей просьбе, так что это может быть частью проблемы? У меня также есть информация заголовка в моем результате, поэтому я не могу использовать substr, но я думаю, что str_replace может дать тот же результат. – Promo

Смежные вопросы