我反正知道,我跳了无数的坑,特大!不过还好解决了;和http协议联系深重,看来web开发光看一遍http协议是不够的,要很是熟悉,就跟吃饭说话同样熟悉才行啊!废话很少说,直接看代码。php
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // 设置访问连接 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // 是否返回信息 curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // 超时时间 curl_setopt($ch, CURLOPT_POST, FALSE); curl_setopt($ch, CURLOPT_HEADERFUNCTION, function ($resURL, $strHeader) { if (preg_match('/^Content-Disposition/i', $strHeader)) { header($strHeader); } if (preg_match('/^Content-Type/i', $strHeader)) { header($strHeader); } return strlen($strHeader); }); $html = curl_exec($ch); curl_close($ch); echo $html; exit();
这里主要要点是 CURLOPT_HEADERFUNCTION
参数,这个参数是重新定义http响应头,这是个人理解;--- Http协议相关知识点;html
第二点最后exit()退出函数,为何要加,这个知识点仍是有些模糊,我要在研究一下php解析过程和源代码了;web
总结:http协议不熟悉,php解析过程不熟悉;知道是好事情,作到才是真的好。curl
参考文献: Client URL 库函数