fix(fetchers): Fix the bug of referer and google_search argument conflict
This commit is contained in:
@@ -83,6 +83,7 @@ class StealthySession:
|
|||||||
"_closed",
|
"_closed",
|
||||||
"launch_options",
|
"launch_options",
|
||||||
"context_options",
|
"context_options",
|
||||||
|
"_headers_keys",
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@@ -204,6 +205,11 @@ class StealthySession:
|
|||||||
self._closed = False
|
self._closed = False
|
||||||
self.adaptor_arguments = config.adaptor_arguments
|
self.adaptor_arguments = config.adaptor_arguments
|
||||||
self.page_action = config.page_action
|
self.page_action = config.page_action
|
||||||
|
self._headers_keys = (
|
||||||
|
set(map(str.lower, self.extra_headers.keys()))
|
||||||
|
if self.extra_headers
|
||||||
|
else set()
|
||||||
|
)
|
||||||
self.__initiate_browser_options__()
|
self.__initiate_browser_options__()
|
||||||
|
|
||||||
def __initiate_browser_options__(self):
|
def __initiate_browser_options__(self):
|
||||||
@@ -377,7 +383,11 @@ class StealthySession:
|
|||||||
raise RuntimeError("Context manager has been closed")
|
raise RuntimeError("Context manager has been closed")
|
||||||
|
|
||||||
final_response = None
|
final_response = None
|
||||||
referer = generate_convincing_referer(url) if self.google_search else None
|
referer = (
|
||||||
|
generate_convincing_referer(url)
|
||||||
|
if (self.google_search and "referer" not in self._headers_keys)
|
||||||
|
else None
|
||||||
|
)
|
||||||
|
|
||||||
def handle_response(finished_response: SyncPlaywrightResponse):
|
def handle_response(finished_response: SyncPlaywrightResponse):
|
||||||
nonlocal final_response
|
nonlocal final_response
|
||||||
@@ -673,7 +683,11 @@ class AsyncStealthySession(StealthySession):
|
|||||||
raise RuntimeError("Context manager has been closed")
|
raise RuntimeError("Context manager has been closed")
|
||||||
|
|
||||||
final_response = None
|
final_response = None
|
||||||
referer = generate_convincing_referer(url) if self.google_search else None
|
referer = (
|
||||||
|
generate_convincing_referer(url)
|
||||||
|
if (self.google_search and "referer" not in self._headers_keys)
|
||||||
|
else None
|
||||||
|
)
|
||||||
|
|
||||||
async def handle_response(finished_response: AsyncPlaywrightResponse):
|
async def handle_response(finished_response: AsyncPlaywrightResponse):
|
||||||
nonlocal final_response
|
nonlocal final_response
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ class DynamicSession:
|
|||||||
"launch_options",
|
"launch_options",
|
||||||
"context_options",
|
"context_options",
|
||||||
"cdp_url",
|
"cdp_url",
|
||||||
|
"_headers_keys",
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@@ -182,6 +183,11 @@ class DynamicSession:
|
|||||||
self._closed = False
|
self._closed = False
|
||||||
self.adaptor_arguments = config.adaptor_arguments
|
self.adaptor_arguments = config.adaptor_arguments
|
||||||
self.page_action = config.page_action
|
self.page_action = config.page_action
|
||||||
|
self._headers_keys = (
|
||||||
|
set(map(str.lower, self.extra_headers.keys()))
|
||||||
|
if self.extra_headers
|
||||||
|
else set()
|
||||||
|
)
|
||||||
self.__initiate_browser_options__()
|
self.__initiate_browser_options__()
|
||||||
|
|
||||||
def __initiate_browser_options__(self):
|
def __initiate_browser_options__(self):
|
||||||
@@ -301,7 +307,11 @@ class DynamicSession:
|
|||||||
raise RuntimeError("Context manager has been closed")
|
raise RuntimeError("Context manager has been closed")
|
||||||
|
|
||||||
final_response = None
|
final_response = None
|
||||||
referer = generate_convincing_referer(url) if self.google_search else None
|
referer = (
|
||||||
|
generate_convincing_referer(url)
|
||||||
|
if (self.google_search and "referer" not in self._headers_keys)
|
||||||
|
else None
|
||||||
|
)
|
||||||
|
|
||||||
def handle_response(finished_response: SyncPlaywrightResponse):
|
def handle_response(finished_response: SyncPlaywrightResponse):
|
||||||
nonlocal final_response
|
nonlocal final_response
|
||||||
@@ -554,7 +564,11 @@ class AsyncDynamicSession(DynamicSession):
|
|||||||
raise RuntimeError("Context manager has been closed")
|
raise RuntimeError("Context manager has been closed")
|
||||||
|
|
||||||
final_response = None
|
final_response = None
|
||||||
referer = generate_convincing_referer(url) if self.google_search else None
|
referer = (
|
||||||
|
generate_convincing_referer(url)
|
||||||
|
if (self.google_search and "referer" not in self._headers_keys)
|
||||||
|
else None
|
||||||
|
)
|
||||||
|
|
||||||
async def handle_response(finished_response: AsyncPlaywrightResponse):
|
async def handle_response(finished_response: AsyncPlaywrightResponse):
|
||||||
nonlocal final_response
|
nonlocal final_response
|
||||||
|
|||||||
Reference in New Issue
Block a user