{"record":{"id":"dc1298a7ee2cd2a7","repo":"wpscanteam/wpscan","slug":"the-url-supplied-response-request-url-seems-t","errorCode":null,"errorMessage":"The url supplied '#{response.request.url}' seems to be down (#{response.return_message})","messagePattern":"The url supplied '#(.+?)' seems to be down \\(#(.+?)\\)","errorType":"exception","errorClass":"WPScan::Error::TargetDown","httpStatus":null,"severity":"error","filePath":"app/controllers/core.rb","lineNumber":73,"sourceCode":"\n      def maybe_output_banner_help_and_version\n        output('banner') if WPScan::ParsedCli.banner\n        output('help', help: option_parser.simple_help, simple: true) if WPScan::ParsedCli.help\n        output('help', help: option_parser.full_help, simple: false) if WPScan::ParsedCli.hh\n        output('version') if WPScan::ParsedCli.version\n\n        exit(WPScan::ExitCode::OK) if WPScan::ParsedCli.help || WPScan::ParsedCli.hh || WPScan::ParsedCli.version\n      end\n\n      # Checks that the target is accessible, raises related errors otherwise.\n      #\n      # @return [ Void ]\n      def check_target_availability\n        res = WPScan::Browser.get(target.url)\n\n        case res.code\n        when 0\n          raise Error::TargetDown, res\n        when 401\n          raise Error::HTTPAuthRequired\n        when 403\n          raise Error::AccessForbidden, WPScan::ParsedCli.random_user_agent unless WPScan::ParsedCli.force\n        when 407\n          raise Error::ProxyAuthRequired\n        end\n\n        handle_redirection(res)\n      end\n\n      # Checks whether the response or its redirect chain contains a SAMLRequest,\n      # indicating that the target requires SAML authentication.\n      #\n      # @param [ Addressable::URI ] effective_uri  Final URL after following redirects\n      # @param [ Typhoeus::Response ] homepage_res Response whose redirect chain to inspect\n      #\n      # @return [ Boolean ]","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/wpscanteam/wpscan/blob/62c9cef471de90095f6b42245a11d0f8172d19c9/app/controllers/core.rb#L55-L91","documentation":"Raised by WPScan::Controller::Core#check_target_availability (app/controllers/core.rb:73) when the initial GET to the --url value returns Typhoeus status code 0, meaning the request never obtained an HTTP response at all. The message embeds the exact request URL plus libcurl's return_message (e.g. 'Could not resolve host', 'Connection timed out') so the failing transport step is identifiable. WPScan aborts immediately because every subsequent request would fail for the same reason.","triggerScenarios":"Running `wpscan --url http://target` where DNS resolution fails, the TCP connection is refused/filtered, the TLS handshake fails, or the connection times out. Also produced when a --proxy is configured but unreachable, or when --url contains a typo (wrong hostname/TLD). The check is `res = WPScan::Browser.get(target.url); raise if res.code == 0`.","commonSituations":"Typo'd domain in --url; host firewall dropping the scanner's IP; corporate egress proxy required but not configured; IPv6-only target; decommissioned site; CI runner without network egress.","solutions":["Re-check the --url value for typos and confirm the site loads from the same machine (curl -I <url>)","If --proxy is set, verify the proxy is reachable and can reach the target (curl -x <proxy> -I <url>)","If the return_message mentions SSL/TLS, inspect the certificate or firewall rules on port 443","Raise --connect-timeout / --request-timeout if the host is slow to answer","If the message says 'Could not resolve host', fix DNS (resolv.conf) or use a resolvable hostname"],"exampleFix":"# before\nwpscan --url http://exmaple.com\n# => The url supplied 'http://exmaple.com' seems to be down (Could not resolve host)\n\n# after\nwpscan --url http://example.com","handlingStrategy":"retry","validationCode":"# Pre-flight reachability check before invoking the scan\nrequire 'typhoeus'\n\nres = Typhoeus.get('http://example.com', followlocation: true, connecttimeout: 10)\nabort \"target unreachable: #{res.return_message}\" if res.code.zero?","typeGuard":"# Typhoeus code 0 is a transport-level failure, not an HTTP status\ntransport_failure = res.is_a?(Typhoeus::Response) && res.code.zero?","tryCatchPattern":"begin\n  scan.run\nrescue WPScan::Error::TargetDown => e\n  warn \"#{e.response.request.url} unreachable: #{e.response.return_message}\"\n  retry if (attempts += 1) < 3 && sleep(5)\n  raise\nend","preventionTips":["Validate --url with curl from the same host/proxy before launching the scan","Configure --connect-timeout and --request-timeout for slow or distant targets","Verify --proxy reachability in CI environments","Run scans from a network that can actually reach the target"],"tags":["network","dns","connection-refused","target-unreachable","curl"],"backgroundTag":"connection-refused","analyzedSha":"62c9cef471de90095f6b42245a11d0f8172d19c9","analyzedAt":"2026-08-21T17:10:47.902Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}