一次php curl 抓取数据无法获得数据的错误发现

文章讲述了作者在使用PHPcURL时遇到的问题,数据时而获取成功时而失败,经排查发现是由于设置了包含移动端UA的随机User-Agent,导致目标网页识别并跳转。通过打印curl_getinfo找到了问题根源并得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 #php#

一次php curl 使用过程中,出现了偶尔能获得数据,偶尔无法获得数据的情况。研究了无数个方案,无法解决。最终打印出curl_getinfo后才发现问题所在。

打印请求信息代码(在curl_exec($ch)之后):

$info = curl_getinfo($ch);
echo "<br/>----curl info:----<br/>";
print_r($info);
echo "<br/>----end curl info:----<br/>";

问题原因:请求的地址进行了跳转

产生问题的原因:

User-Agent 设置了随机产生UA的数组,里面包含了移动端的浏览器UA,当随机到移动端UA时,目标网页自动判断进行了跳转;个人认为有时获取数据不完全或者获取的数据与预期的不一样也有可能是这个原网页跳转了的原因。

无语了啊.............自作孽

出现问题时最好打印出curl_getinfo来进行分析吧。

折腾了两天的问题终于解决了..............

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值