{"record":{"id":"92d2519c574979fe","repo":"sqlmapproject/sqlmap","slug":"invalid-url-given-for-sitemap-s","errorCode":null,"errorMessage":"invalid URL given for sitemap ('%s')","messagePattern":"invalid URL given for sitemap \\('(.+?)'\\)","errorType":"exception","errorClass":"SqlmapSyntaxException","httpStatus":null,"severity":"error","filePath":"lib/parse/sitemap.py","lineNumber":54,"sourceCode":"            retVal = OrderedSet()\n            visited = set()\n\n        if url in visited or (urlFilter is not None and not urlFilter(url)):\n            return retVal\n\n        visited.add(url)\n\n        if len(visited) > MAX_SITEMAP_FETCHES or len(retVal) >= MAX_SITEMAP_URLS:   # bound a hostile sitemap graph\n            if not abortedFlag:                                                     # warn once on the False->True transition\n                logger.warning(\"sitemap parsing stopped after reaching the fetch/URL limit. sqlmap will use partial list\")\n            abortedFlag = True\n            return retVal\n\n        try:\n            content = Request.getPage(url=url, raise404=True)[0] if not abortedFlag else \"\"\n        except _http_client.InvalidURL:\n            errMsg = \"invalid URL given for sitemap ('%s')\" % url\n            raise SqlmapSyntaxException(errMsg)\n\n        if content:\n            content = re.sub(r\"<!--.*?-->\", \"\", content, flags=re.DOTALL)  # Note: strip (possibly multi-line) XML comments so commented-out <loc> entries aren't harvested\n\n            for match in re.finditer(r\"<\\w*?loc[^>]*>\\s*([^<]+)\", content, re.I):\n                if abortedFlag or len(retVal) >= MAX_SITEMAP_URLS:\n                    break\n\n                foundUrl = htmlUnescape(match.group(1).strip())\n\n                # Basic validation to avoid junk\n                if not foundUrl.startswith(\"http\"):\n                    continue\n\n                if foundUrl.endswith(\".xml\") and \"sitemap\" in foundUrl.lower():\n                    if kb.followSitemapRecursion is None:\n                        message = \"sitemap recursion detected. Do you want to follow? [y/N] \"\n                        kb.followSitemapRecursion = readInput(message, default='N', boolean=True)","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/parse/sitemap.py#L36-L72","documentation":"Error \"invalid URL given for sitemap ('%s')\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/parse/sitemap.py:54 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}