This commit is contained in:
yumoqing 2025-06-14 21:58:32 +08:00
parent 03df5bf3b1
commit c962938f12

View File

@ -52,7 +52,7 @@ class StreamHttpClient:
data=None, data=None,
json=None, json=None,
files=None, files=None,
chunk_size=1024): chunk_size=1024, **kw):
""" """
Makes an HTTP request and yields response chunks (streamed). Makes an HTTP request and yields response chunks (streamed).
""" """
@ -64,7 +64,7 @@ class StreamHttpClient:
method, url, method, url,
headers=headers, params=params, data=data, headers=headers, params=params, data=data,
json=json, files=files, json=json, files=files,
use_socks=True, chunk_size=chunk_size use_socks=True, chunk_size=chunk_size, **kw
): ):
yield chunk yield chunk
else: else:
@ -73,7 +73,7 @@ class StreamHttpClient:
method, url, method, url,
headers=headers, params=params, data=data, headers=headers, params=params, data=data,
json=json, files=files, json=json, files=files,
use_socks=False, chunk_size=chunk_size use_socks=False, chunk_size=chunk_size, **kw
): ):
yield chunk yield chunk
except Exception as e: except Exception as e:
@ -87,7 +87,7 @@ class StreamHttpClient:
method, url, method, url,
headers=headers, params=params, data=data, headers=headers, params=params, data=data,
json=json, files=files, json=json, files=files,
use_socks=True, chunk_size=chunk_size use_socks=True, chunk_size=chunk_size, **kw
): ):
self._save_socks_url(url) self._save_socks_url(url)
yield chunk yield chunk
@ -97,16 +97,18 @@ class StreamHttpClient:
async def _request_with_connector(self, method, url, async def _request_with_connector(self, method, url,
headers=None, params=None, data=None, headers=None, params=None, data=None,
json=None, files=None, json=None, files=None,
use_socks=False, chunk_size=1024): use_socks=False,
chunk_size=1024,
**kw):
connector = ProxyConnector.from_url(self.socks5_url) if use_socks else None connector = ProxyConnector.from_url(self.socks5_url) if use_socks else None
async with aiohttp.ClientSession(connector=connector) as session: async with aiohttp.ClientSession(connector=connector) as session:
req_args = { req_args = kw
req_args.update({
"headers": headers, "headers": headers,
"params": params, "params": params,
"timeout": 30,
"ssl": self.ssl_context, "ssl": self.ssl_context,
} })
if files: if files:
form = aiohttp.FormData() form = aiohttp.FormData()