sqlmapproject/sqlmap · error · H2ProtocolError
101 Switching Protocols is not valid in HTTP/2
Error message
101 Switching Protocols is not valid in HTTP/2
What it means
Error "101 Switching Protocols is not valid in HTTP/2" thrown in sqlmapproject/sqlmap.
Source
Thrown at lib/request/http2.py:872
def _validate_response_field_section(headers, trailers=False):
regular_seen = False
status = None
for name, value in headers:
name = _as_bytes(name)
value = _as_bytes(value)
_validate_field_value(value)
if name.startswith(b":"):
if trailers or regular_seen or name != b":status" or status is not None:
raise H2ProtocolError("invalid response pseudo-field ordering or duplication")
if len(value) != 3 or not value.isdigit():
raise H2ProtocolError("invalid :status pseudo-field")
status = int(value)
if not 100 <= status <= 599:
raise H2ProtocolError("response status is outside the valid range")
if status == 101:
raise H2ProtocolError("101 Switching Protocols is not valid in HTTP/2")
else:
regular_seen = True
if name.lower() != name:
raise H2ProtocolError("uppercase HTTP/2 field name")
_validate_regular_name(name)
if name in _CONNECTION_FIELDS:
raise H2ProtocolError("connection-specific field in HTTP/2 response")
content_length = _parse_content_length(headers, trailers=trailers)
if trailers:
return None, None
if status is None:
raise H2ProtocolError("response field section lacks :status")
return status, content_length
class _ResponseState(object):
def __init__(self, stream_id, request_method):
self.stream_id = stream_idView on GitHub (pinned to 0a35b20e39)
When it happens
Trigger: Thrown at lib/request/http2.py:872 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/c082aa653ab31294.
Report an issue: GitHub.