2012-06-14 37 views
9

Tôi đang sử dụng mã sau, vốn đang hoạt động tốt cho các url khác, tuy nhiên, đối với url "http://lisakifttherapy.com/", tôi hiểu sai, hiển thị nhiều dữ liệu gerbage . Bất kỳ ai cũng biết tại sao điều này xảy ra và làm thế nào để vượt qua điều này? Cảm ơn trước.cURL trả về dữ liệu rác

 $curlObj = curl_init(); 
     curl_setopt($curlObj, CURLOPT_URL, "http://lisakifttherapy.com/"); 
     curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($curlObj, CURLOPT_FOLLOWLOCATION, true); 
     $content = curl_exec($curlObj); 
     echo $content; 

Trả lời

18

Các tiêu đề hiển thị nó:

TTP/1.1 200 OK 
Date: Thu, 14 Jun 2012 14:25:49 GMT 
Server: Apache 
Vary: Accept-Encoding,Cookie 
Cache-Control: max-age=3, must-revalidate 
WP-Super-Cache: Served supercache file from PHP 
Content-Encoding: gzip 
Content-Length: 16502 
Connection: close 
Content-Type: text/html; charset=UTF-8 

Vì vậy, bạn thấy gzip 'dữ liệu ed, mà không phải là con người có thể đọc được.

Sửa

Kể từ bình luận dưới đây: Để khắc phục điều này, sử dụng một tiêu đề của Accept-Encoding: identity, mà bạn có thể nhận được bằng

curl_setopt($curlObj, CURLOPT_ENCODING, 'identity'); 
+2

Hai cách để khắc phục những vấn đề: thứ nhất, gửi một tiêu đề nói bạn không hỗ trợ GZIP. Thứ hai, giải mã chuỗi thành dữ liệu thông thường. –

Các vấn đề liên quan