我正在使用WWW :: Mechanize在每隔幾秒鐘運行一次的循環中讀取特定的網頁。偶爾,'GET'超時並且腳本停止運行。我怎麼能從一個這樣的超時恢復,以便它繼續循環,並在下一次嘗試'GET'?如何使用Perl的WWW :: Mechanize從超時恢復?
4
A
回答
3
使用eval
:
eval {
my $resp = $mech->get($url);
$resp->is_success or die $resp->status_line;
# your code
};
if ([email protected]) {
print "Recovered from a GET error\n";
}
的eval
塊將捕獲任何錯誤,而歌廳的頁面。
1
一個選項是實現一個方法來處理超時錯誤,並在施工時將其掛接到機器對象,如onerror
處理程序。請參閱文檔中的Constructor and Startup。
你甚至可以通過設置零錯誤處理程序,例如忽略錯誤:
my $mech = WWW::Mechanize->new(onerror => undef);
,但我不會建議 - 你只得到奇怪的問題,後來。
0
此解決方案將繼續嘗試加載頁面,直到它工作。
do {
eval {
$mech->get($url);
};
} while ([email protected] ne '');
相關問題
- 1. Perl WWW-Mechanize模塊
- 2. Perl使用Parallel :: ForkManager和WWW :: Mechanize
- 3. 使用WWW :: Mechanize
- 4. 如何使用Perl的WWW :: Mechanize獲取框架源代碼?
- 5. 如何在Perl的WWW :: Mechanize中使用Web代理?
- 6. 如何使用Perl的WWW :: Mechanize從頁面中提取所有鏈接?
- 7. WWW :: Mechanize可以恢復以前的SSL會話嗎?
- 8. 無法訪問使用perl的WWW :: mechanize的https頁面
- 9. 表單提交後的重定向使用WWW :: Mechanize(perl)
- 10. 使用WWW :: Mechanize刮目錄下的多個頁面 - Perl
- 11. 如何在Perl的WWW :: Mechanize中打印cookie_jar值?
- 12. 如何使用Perl的WWW :: Mechanize訪問沒有名稱或ID的表單?
- 13. WWW :: Mechanize和yellowpages.com
- 14. 如何使用perl中的WWW :: Scripter模塊顯式清除cookie?
- 15. 我如何獲得WWW :: Mechanize的工作?
- 16. 如何恢復Perl下載?
- 17. Perl使用WWW :: Mechanize設置一個沒有任何價值的單選按鈕
- 18. 使用WWW下載網頁:: Mechanize :: Firefox
- 19. 如何使用WWW :: Mechanize提交HTML中沒有的表單?
- 20. 如何讓WWW :: Mechanize避免重定向?
- 21. 是否有一個Perl的WWW :: Mechanize的PHP等價物?
- 22. 如何在Perl的WWW :: Mechanize中處理一個簡單的循環?
- 23. Perl的WWW :: Mechanize如何擴展自己添加JavaScript的HTML頁面?
- 24. WWW :: Mechanize-從下拉列表中選擇
- 25. WWW :: Mechanize從頁面獲取內容
- 26. WWW ::機械化Perl
- 27. 將IE瀏覽器加載到Perl的WWW :: Mechanize
- 28. 如何使用WWW :: Mechanize選擇隨機列表框項目?
- 29. 如何使用WWW :: Mechanize檢查收音機箱?
- 30. 爲什麼我的WWW :: Mechanize程序在嘗試登錄時超時?