问题
We have a Perl script which uses WWW::Mechanize to download content from a secured (https) website via our company proxy using POST action in WWW::Mechanize.
Sometimes this post action runs for hours for unknown reasons.
I want to control this. I checked for timeout but I also read in one of the post in Stackoverflow that it does not work with https websites.
Any idea how I can use the timeout mechanism?
I want to stop processing that link say after a minute or so to proceed further and not wait for hours together. Any help would be really appreciated.
回答1:
Use LWPx::ParanoidAgent and mix it into Mech.
$ua->timeout(10);
this is 10 seconds overall, from start to finish. not just between socket reads. and it includes all redirects. so attackers telling you to download from a malicious tarpit webserver can only stall you for $n seconds
来源:https://stackoverflow.com/questions/11330610/possible-to-use-timeout-in-wwwmechanize-on-https