sqlmapproject/sqlmap · error · SqlmapError

scan() requires either 'url' or 'requestFile'

Error message

scan() requires either 'url' or 'requestFile'

What it means

Error "scan() requires either 'url' or 'requestFile'" thrown in sqlmapproject/sqlmap.

Source

Thrown at lib/utils/library.py:92

    output directory (so parallel scans of the same target can not collide on session/dump files and
    nothing accumulates on disk), engine output streamed to a temporary file rather than buffered in
    memory, and - when 'timeout' is set - the whole subprocess group is torn down on expiry. Pass
    'outputDir' to keep the run's files.

    Example:
        import sqlmap
        result = sqlmap.scan("http://target/vuln.php?id=1", dumpTable=True, tbl="users")
    """

    import shutil
    import subprocess
    import time

    from lib.core.common import saveConfig
    from lib.core.optiondict import optDict

    if not (url or requestFile):
        raise SqlmapError("scan() requires either 'url' or 'requestFile'")

    if not os.path.isfile(SQLMAP_FILE):
        raise SqlmapError("could not locate the sqlmap engine ('%s')" % SQLMAP_FILE)

    knownOptions = set()
    for family in optDict.values():
        knownOptions.update(family)

    config = {}
    if url:
        config["url"] = url
    if requestFile:
        config["requestFile"] = requestFile
    config.update(options)

    unknown = [_ for _ in config if _ not in knownOptions]
    if unknown:
        raise SqlmapError("unknown option(s) %s - scan() expects sqlmap option names as used in a configuration file (e.g. getBanner, dumpTable, tbl, technique, level), not command line switches" % ", ".join(repr(_) for _ in sorted(unknown)))

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at lib/utils/library.py:92 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/b53f384d31f5ec04. Report an issue: GitHub.