php curl 无法采集 报错CURLOPT_FOLLOWLOCATION cannot be activated解决curl_redir_exec Undefined offset: 1问题

网上的 function curl_redir_exec 里的代码有问题:

list($header, $data) = explode("\n\n", $data, 2);

里面的这行代码意思是通过"\n\n"换行符来区分响应头和响应数据,然而,很多时候并不能够分割开响应头和响应信息,真是个bad idea

为了解决这个问题,应该换成更安全的方式,替换如下代码解决报错:

$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($data, 0, $headerSize);
$data= substr($data,$headerSize);

通过内置的更安全的curl_getinfo函数区分响应头和响应数据

这样就解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值