douhuanqiao5290
2016-06-13 07:32
浏览 400

PHP curl_exec()返回不完整的数据

$url='http://api.cruiseline.com/cruises/7-night-western-caribbean-ft-lauderdale-roundtrip-35052/detail';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$result=json_decode($result);
var_dump($result);

Here is the response of curl_getinfo()

array(26) { ["url"]=> string(96) "http://api.cruiseline.com/cruises/7-night-western-caribbean-ft-lauderdale-roundtrip-35052/detail" ["content_type"]=> string(16) "application/json" ["http_code"]=> int(200) ["header_size"]=> int(511) ["request_size"]=> int(127) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(5.11) ["namelookup_time"]=> float(0.203) ["connect_time"]=> float(0.532) ["pretransfer_time"]=> float(0.532) ["size_upload"]=> float(0) ["size_download"]=> float(650744) ["speed_download"]=> float(127347) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(0) ["starttransfer_time"]=> float(1.125) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } ["primary_ip"]=> string(14) "75.101.141.196" ["primary_port"]=> int(80) ["local_ip"]=> string(13) "192.168.10.15" ["local_port"]=> int(59916) ["redirect_url"]=> string(0) "" } 

Above code sometimes sends complete json data and sometimes sends partial data to $result. When it sends incomplete data, json_decode returns null.

There is no issue on server side. When we open http://api.cruiseline.com/cruises/7-night-western-caribbean-ft-lauderdale-roundtrip-35052/detail in browser, it sends complete response all the time.

Please help and let me know what is the problem and how I can fix that.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongmu5920 2016-06-13 08:42
    已采纳

    Add this:

    curl_setopt($ch, CURLOPT_ENCODING, '');
    

    to your cURL setup. This made your code workable for me.

    点赞 评论

相关推荐 更多相似问题