php採擷程式

來源:互聯網
上載者:User
php採集程式
完成了大約10分鐘的採集後,出現fwrite(......)請求,出現警告,隨後出現丟包,有些網頁就出現抓取失敗的問題。。

前面10分鐘都沒問題,10分鐘之後,fwrite(....)發送請求出現警告的頻率慢慢變大

難道是被伺服器拒絕了請求?

錯誤提示資訊:

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200
對連結http://www.mmkao.com/Beautyleg/201410/6565_6.html發起請求
即將採集下一組
對連結http://www.mmkao.com/Beautyleg/201410/6559.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_2.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_3.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_4.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_5.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_6.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_7.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_8.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_9.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6559_10.html發起請求
即將採集下一組
對連結http://www.mmkao.com/Beautyleg/201410/6549.html發起請求
對連結http://www.mmkao.com/Beautyleg/201410/6549_2.html發起請求

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200
對連結http://www.mmkao.com/Beautyleg/201410/6549_3.html發起請求
即將採集下一組

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200
對連結http://www.mmkao.com/Beautyleg/201410/6537.html發起請求

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200

有點疑惑,代碼的實現原理還是很簡單的,只是網路請求調試想對困難一些,有這方面經驗的,可以分享一下


代碼有點多?居然提示不能超過10000個字元。
代碼連結在這裡: http://blog.csdn.net/free_program_1314/article/details/41798199

------解決思路----------------------
你在 100 行處 $this->conn = fsockopen($this->ip,$this->port,$errno,$errstr,$this->timeout);
後只在 101 行判斷了是否串連成功,雖然不成功時會返回 false
但在 62 行調用時 $this->connect(); 並沒有檢查是否返回了 false
即無論串連是否成功,程式都會繼續執行。於是很自然的把隱患擴散了出去
你至少得在 200 行的 fwrite($this->conn,.... 前,判斷一下 $this->conn 是否是資源

而若 $this->connect() 失敗,就該轉到策略處理常式,還按正常流程進行是沒有意義的
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.