(firstPage, secondPage)
This function checks for the dynamic content in the provided pages
This function checks for the dynamic content in the provided pages
This function checks for the dynamic content in the provided pages
def checkDynamicContent(firstPage, secondPage):
    """
    This function checks for the dynamic content in the provided pages
    """

    if kb.nullConnection:
        debugMsg = "dynamic content checking skipped "
        debugMsg += "because NULL connection used"
        logger.debug(debugMsg)
        return

    if any(page is None for page in (firstPage, secondPage)):
        warnMsg = "can't check dynamic content "
        warnMsg += "because of lack of page content"
        logger.critical(warnMsg)
        return

    seqMatcher = getCurrentThreadData().seqMatcher
    seqMatcher.set_seq1(firstPage)
    seqMatcher.set_seq2(secondPage)

    # In case of an intolerable difference turn on dynamicity removal engine
    if seqMatcher.quick_ratio() <= UPPER_RATIO_BOUND:
        findDynamicContent(firstPage, secondPage)

        count = 0
        while not Request.queryPage():
            count += 1

            if count > conf.retries:
                warnMsg = "target URL is too dynamic. "
                warnMsg += "Switching to '--text-only' "
                logger.warn(warnMsg)

                conf.textOnly = True
                return

            warnMsg = "target URL is heavily dynamic"
            warnMsg += ". sqlmap is going to retry the request"
            logger.critical(warnMsg)

            secondPage, _ = Request.queryPage(content=True)
            findDynamicContent(firstPage, secondPage)
def checkDynamicContent ( firstPage , secondPage ) : if kb . nullConnection : debugMsg = "dynamic content checking skipped " debugMsg += "because NULL connection used" logger . debug ( debugMsg ) return if any ( page is None for page in ( firstPage , secondPage ) ) : warnMsg = "can't check dynamic content " warnMsg += "because of lack of page content" logger . critical ( warnMsg ) return seqMatcher = getCurrentThreadData ( ) . seqMatcher seqMatcher . set_seq1 ( firstPage ) seqMatcher . set_seq2 ( secondPage ) # In case of an intolerable difference turn on dynamicity removal engine if seqMatcher . quick_ratio ( ) <= UPPER_RATIO_BOUND : findDynamicContent ( firstPage , secondPage ) count = 0 while not Request . queryPage ( ) : count += 1 if count > conf . retries : warnMsg = "target URL is too dynamic. " warnMsg += "Switching to '--text-only' " logger . warn ( warnMsg ) conf . textOnly = True return warnMsg = "target URL is heavily dynamic" warnMsg += ". sqlmap is going to retry the request" logger . critical ( warnMsg ) secondPage , _ = Request . queryPage ( content = True ) findDynamicContent ( firstPage , secondPage )