PHP 解决curl_exec直接显示内容的问题

调用curl_exec会直接显示接收到的内空,而不是保存在变量中,这个问题可以通过设置:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

来解决

function getRemoteData() {
    //echo 'from remote';
    $url = 'http://www.6166.cc/game/lotteryServlet?type=showBet&isNewLottery=true&lotteryId=9' ;
    $ch = curl_init($url );
    curl_setopt($ch,CURLOPT_HTTPHEADER,array('Host:www.6166.cc','Upgrade-Insecure-Requests:1'));
    curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");
    curl_setopt($ch,CURLOPT_COOKIESESSION,true);
    curl_setopt ($ch, CURLOPT_TIMEOUT,500 );
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); // 获取302跳转之后的内容
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // 如果不加此句,则curl_exec会直接显示内容,而不是把内容保存到返回值中
    $ret = curl_exec($ch);

    curl_close($ch);   
    return $ret;
}
本文为“老吴笔记”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注