本文小编为大家详细介绍“php curl输出不完整如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“php curl输出不完整如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
php curl输出不完整的解决办法:1、打开相应的PHP代码文件;2、增加配置为“curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));”;3、封装方法为“function req_curl($url, &$status = null, $options = array()){...}”即可。
php curl 输出不完整?php获取数据 curl获取不完整?
因为,PHP CURL库默认1024字节的长度不等待数据的返回,所以你那段代码需增加一项配置:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
给你一个更全面的封装方法:
function req_curl($url, &$status = null, $options = array()){$res = '';$options = array_merge(array('follow_local' => true,'timeout' => 30,'max_redirects' => 4,'binary_transfer' => false,'include_header' => false,'no_body' => false,'cookie_location' => dirname(__FILE__) . '/cookie','useragent' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1','post' => array() ,'referer' => null,'ssl_verifypeer' => 0,'ssl_verifyhost' => 0,'headers' => array('Expect:') ,'auth_name' => '','auth_pass' => '','session' => false) , $options);$options['url'] = $url;$s = curl_init();if (!$s) return false;curl_setopt($s, CURLOPT_URL, $options['url']);curl_setopt($s, CURLOPT_HTTPHEADER, $options['headers']);curl_setopt($s, CURLOPT_SSL_VERIFYPEER, $options['ssl_verifypeer']);curl_setopt($s, CURLOPT_SSL_VERIFYHOST, $options['ssl_verifyhost']);curl_setopt($s, CURLOPT_TIMEOUT, $options['timeout']);curl_setopt($s, CURLOPT_MAXREDIRS, $options['max_redirects']);curl_setopt($s, CURLOPT_RETURNTRANSFER, true);curl_setopt($s, CURLOPT_FOLLOWLOCATION, $options['follow_local']);curl_setopt($s, CURLOPT_COOKIEJAR, $options['cookie_location']);curl_setopt($s, CURLOPT_COOKIEFILE, $options['cookie_location']);if (!empty($options['auth_name']) && is_string($options['auth_name'])){curl_setopt($s, CURLOPT_USERPWD, $options['auth_name'] . ':' . $options['auth_pass']);}if (!empty($options['post'])){curl_setopt($s, CURLOPT_POST, true);curl_setopt($s, CURLOPT_POSTFIELDS, $options['post']);//curl_setopt($s, CURLOPT_POSTFIELDS, array('username' => 'aeon', 'password' => '111111'));}if ($options['include_header']){curl_setopt($s, CURLOPT_HEADER, true);}if ($options['no_body']){curl_setopt($s, CURLOPT_NOBODY, true);}if ($options['session']){curl_setopt($s, CURLOPT_COOKIESESSION, true);curl_setopt($s, CURLOPT_COOKIE, $options['session']);}curl_setopt($s, CURLOPT_USERAGENT, $options['useragent']);curl_setopt($s, CURLOPT_REFERER, $options['referer']);$res = curl_exec($s);$status = curl_getinfo($s, CURLINFO_HTTP_CODE);curl_close($s);return $res;}
读到这里,这篇“php curl输出不完整如何解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。