Implements option --retry-on (#4876)

This commit is contained in:
Miroslav Stampar
2021-11-01 21:50:16 +01:00
parent fc9875fc12
commit 9e17babe7b
6 changed files with 26 additions and 1 deletions

View File

@@ -909,6 +909,17 @@ class Connect(object):
socket.setdefaulttimeout(conf.timeout)
if conf.retryOn and re.search(conf.retryOn, page, re.I):
if threadData.retriesCount < conf.retries:
warnMsg = "forced retry of the request because of undesired page content"
logger.warn(warnMsg)
return Connect._retryProxy(**kwargs)
else:
errMsg = "unable to get the page content not matching "
errMsg += "the given regular expression '%s'. Please use as high " % conf.retryOn
errMsg += "value for option '--retries' as possible (e.g. 20 or more)"
raise SqlmapConnectionException(errMsg)
processResponse(page, responseHeaders, code, status)
if not skipLogTraffic: