Minor fixes for --http2 (#4402)

This commit is contained in:
Miroslav Stampar
2025-02-20 23:32:58 +01:00
parent 327f98aaa3
commit d058cc820d
4 changed files with 13 additions and 7 deletions

View File

@@ -615,10 +615,15 @@ class Connect(object):
if conf.http2:
try:
import httpx
with httpx.Client(verify=False, http2=True, timeout=timeout, follow_redirects=True, cookies=conf.cj) as client:
conn = client.request(method or (HTTPMETHOD.POST if post is not None else HTTPMETHOD.GET), url, headers=headers, data=post)
except ImportError:
raise SqlmapMissingDependence("httpx[http2] not available (e.g. 'pip%s install httpx[http2]')" % ('3' if six.PY3 else ""))
try:
proxy_mounts = dict(("%s://" % key, httpx.HTTPTransport(proxy="%s%s" % ("http://" if not "://" in kb.proxies[key] else "", kb.proxies[key]))) for key in kb.proxies) if kb.proxies else None
with httpx.Client(verify=False, http2=True, timeout=timeout, follow_redirects=True, cookies=conf.cj, mounts=proxy_mounts) as client:
conn = client.request(method or (HTTPMETHOD.POST if post is not None else HTTPMETHOD.GET), url, headers=headers, data=post)
except httpx.ConnectError as ex:
raise _http_client.HTTPException(getSafeExString(ex))
else:
conn.code = conn.status_code
conn.msg = conn.reason_phrase