検索

ホームページ  >  に質問  >  本文

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日前1220

全員に返信(6)返信します

  • PHPz

    PHPz2017-05-16 13:05:31

    コードはどこですか

    コードなしで問題を確認する方法

    返事
    0
  • 为情所困

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

    curl 演算子を不適切に使用すると、解決できない問題が大量に発生することがあります。この場合はどうすればよいでしょうか。それを解決するホイールを見つけてください! !

    前回 Douban に投稿したときにたまたま /a/11...

    を使用してしまいました

    返事
    0
  • 淡淡烟草味

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

    具体的な Web サイトのアドレスがなく、問題を特定するのが難しいのは、ログイン Cookie が間違っており、A が本人確認の条件を満たしていないため、認証できるデータのみを返すためだと思われます。匿名ユーザーに見られる可能性があります。

    返事
    0
  • 迷茫

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

    ループする必要はありません。ページ内で直接 file_get_contents を実行します。つまり、それぞれを個別にリクエストして、返された結果が正しいかどうかを確認します

    返事
    0
  • 黄舟

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


    データを返すヘッダーと返さないヘッダーを出力します。
    ログイン後、Cookie を cookie.txt に保存します。なぜここに Cookie があるのでしょうか。こうなったらどうなるのでしょうか?

    返事
    0
  • PHPz

    PHPz2017-05-16 13:05:31

    1 つのカールリクエストで 2 つのハンドルを取得したいのですか? 意味がわかりません

    返事
    0
  • キャンセル返事