diff --git a/media_platform/bilibili/client.py b/media_platform/bilibili/client.py index 45c927c..cf0a170 100644 --- a/media_platform/bilibili/client.py +++ b/media_platform/bilibili/client.py @@ -68,7 +68,7 @@ class BilibiliClient(AbstractApiClient, ProxyRefreshMixin): # Check if proxy has expired before each request await self._refresh_proxy_if_expired() - async with httpx.AsyncClient(proxy=self.proxy) as client: + async with httpx.AsyncClient(proxy=self.proxy, verify=False) as client: response = await client.request(method, url, timeout=self.timeout, **kwargs) try: data: Dict = response.json() @@ -222,7 +222,7 @@ class BilibiliClient(AbstractApiClient, ProxyRefreshMixin): async def get_video_media(self, url: str) -> Union[bytes, None]: # Follow CDN 302 redirects and treat any 2xx as success (some endpoints return 206) - async with httpx.AsyncClient(proxy=self.proxy, follow_redirects=True) as client: + async with httpx.AsyncClient(proxy=self.proxy, follow_redirects=True, verify=False) as client: try: response = await client.request("GET", url, timeout=self.timeout, headers=self.headers) response.raise_for_status() diff --git a/media_platform/weibo/client.py b/media_platform/weibo/client.py index a49a482..ce51d90 100644 --- a/media_platform/weibo/client.py +++ b/media_platform/weibo/client.py @@ -73,7 +73,7 @@ class WeiboClient(ProxyRefreshMixin): await self._refresh_proxy_if_expired() enable_return_response = kwargs.pop("return_response", False) - async with httpx.AsyncClient(proxy=self.proxy) as client: + async with httpx.AsyncClient(proxy=self.proxy, verify=False) as client: response = await client.request(method, url, timeout=self.timeout, **kwargs) if enable_return_response: @@ -261,7 +261,7 @@ class WeiboClient(ProxyRefreshMixin): :return: """ url = f"{self._host}/detail/{note_id}" - async with httpx.AsyncClient(proxy=self.proxy) as client: + async with httpx.AsyncClient(proxy=self.proxy, verify=False) as client: response = await client.request("GET", url, timeout=self.timeout, headers=self.headers) if response.status_code != 200: raise DataFetchError(f"get weibo detail err: {response.text}") @@ -291,7 +291,7 @@ class WeiboClient(ProxyRefreshMixin): # Since Weibo images are accessed through i1.wp.com, we need to concatenate the URL final_uri = (f"{self._image_agent_host}" f"{image_url}") - async with httpx.AsyncClient(proxy=self.proxy) as client: + async with httpx.AsyncClient(proxy=self.proxy, verify=False) as client: try: response = await client.request("GET", final_uri, timeout=self.timeout) response.raise_for_status() diff --git a/media_platform/zhihu/client.py b/media_platform/zhihu/client.py index 079d08d..84721c7 100644 --- a/media_platform/zhihu/client.py +++ b/media_platform/zhihu/client.py @@ -98,7 +98,7 @@ class ZhiHuClient(AbstractApiClient, ProxyRefreshMixin): # return response.text return_response = kwargs.pop('return_response', False) - async with httpx.AsyncClient(proxy=self.proxy) as client: + async with httpx.AsyncClient(proxy=self.proxy, verify=False) as client: response = await client.request(method, url, timeout=self.timeout, **kwargs) if response.status_code != 200: diff --git a/tools/crawler_util.py b/tools/crawler_util.py index 12cb73e..980ca35 100644 --- a/tools/crawler_util.py +++ b/tools/crawler_util.py @@ -47,7 +47,7 @@ async def find_login_qrcode(page: Page, selector: str) -> str: ) login_qrcode_img = str(await elements.get_property("src")) # type: ignore if "http://" in login_qrcode_img or "https://" in login_qrcode_img: - async with httpx.AsyncClient(follow_redirects=True) as client: + async with httpx.AsyncClient(follow_redirects=True, verify=False) as client: utils.logger.info(f"[find_login_qrcode] get qrcode by url:{login_qrcode_img}") resp = await client.get(login_qrcode_img, headers={"User-Agent": get_user_agent()}) if resp.status_code == 200: