日期:2014-05-17  浏览次数:20500 次

关于curl的一个让我很纠结的问题,求解答
我用curl模拟访问百度的推广,我的目的是通过cookie来获取里面的json数据,现在情况如下:

1、通过模拟登陆到百度推广的网站
2、然后再通过cookie和post参数获取json数据
3、对拿到的json数据进行解析入库

现在问题就是:我在入库到一半的时候,代码显示无法拿到json数据了。然后我将脚本重新执行一次,结果是前面那一半的数据也拿不到了(虽然我已经将这一半数据入库了,但我重新获取,按道理来说是有json数据返回的)。

现在我的理解是,可能是在取json数据时,curl的访问出问题了(但这应该不是代码问题,因为前面已经获取到了一半的数据了,这种情况就像你上网突然断网了一样)

请问各位大侠使用curl时有没有出现过这种情况,求解答!


------解决方案--------------------
全拿到数据判断数据完整性再写入操作。。
------解决方案--------------------
不会出现这种情况吧,只有发送的请求完全返回curl才会获取,post一次,会得到一次响应,要不就是完整的要不就是什么都没有。这个不像显示网页,有时候只有一部分载入进来了,一部分不会显示。
------解决方案--------------------
对, 你请求发得太快,对方临时block你了,
请求之间sleep个几秒.....