搜尋

首頁  >  問答  >  主體

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 天前1218

全部回覆(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
  • 取消回覆