搜索

首页  >  问答  >  正文

php - 为什么curl连续请求导致获取数据失败?

事先需要模拟登录,获取cookie等操作。
然后比如循环请求两个地址a和b:

http://xxxx.xxxx.com/purOrder/getOrderDetailInfo.action?billId=123456

http://xxxx.xxxx.com/purOrder/getOrderDetailInfo.action?billId=654321  

假设a返回3条数据,b返回10条数据
现在问题是,用while循环去请求这两个地址,不管我怎么去刷新,还是请求了a后sleep30秒也好,得到的结果要么就是为空,要么就是a的3条数据,要么就是b的10条数据,总是不能得到a和b的总的数据。
ps:如果我在浏览器登录网站后,直接在浏览器输入a地址,然后输入b地址,数据都是可以获取到的

该怎么办呢?已经折腾好几天了。


把http头打印出来,分别是返回数据的和没有返回数据的
登录后把cookie存在cookie.txt里的,后面的post请求都是把这个文件传进去的,为什么这里cookie会变成这样呢?



这是登录后打印的http头信息



这是保存为cookie.txt的cookie信息

ringa_leeringa_lee2739 天前1221

全部回复(6)我来回复

  • PHPz

    PHPz2017-05-16 13:05:31

    代码呢

    没代码怎么确认问题所在

    回复
    0
  • 为情所困

    为情所困2017-05-16 13:05:31

    有些时候curl 操作者使用不当就会出一堆自己解决不了的问题,这种情况怎么办呢?找个轮子来解决吧!!

    刚好上次刷豆瓣留言用过一个 /a/11...

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:05:31

    没有具体网站地址,也不好给你定位问题,猜测是因为你的登录Cookie有误,A验证你的身份不满足条件,就只返回了匿名用户才能看到的数据。

    回复
    0
  • 迷茫

    迷茫2017-05-16 13:05:31

    不用循环呢 。直接在页面里file_get_contents呢 就是每个都单独请求一下看看返回的对不对

    回复
    0
  • 黄舟

    黄舟2017-05-16 13:05:31


    把http头打印出来,分别是返回数据的和没有返回数据的
    登录后把cookie存在cookie.txt里的,后面的post请求都是把这个文件传进去的,为什么这里cookie会变成这样呢?

    回复
    0
  • PHPz

    PHPz2017-05-16 13:05:31

    你是想一次curl请求获取两个句柄吗?没看懂你的意思

    回复
    0
  • 取消回复