From c45ff028726e8b63c54a934550038a2ee4bc2762 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Fri, 4 Apr 2025 12:16:39 -0400 Subject: [PATCH] fix url encoding problem when downloading file (#2103) --- skyvern/forge/sdk/api/files.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/skyvern/forge/sdk/api/files.py b/skyvern/forge/sdk/api/files.py index ea5c61de..1e4c8938 100644 --- a/skyvern/forge/sdk/api/files.py +++ b/skyvern/forge/sdk/api/files.py @@ -12,6 +12,7 @@ from urllib.parse import unquote, urlparse import aiohttp import structlog from multidict import CIMultiDictProxy +from yarl import URL from skyvern.config import settings from skyvern.constants import BROWSER_DOWNLOAD_TIMEOUT, BROWSER_DOWNLOADING_SUFFIX, REPO_ROOT_DIR @@ -83,7 +84,7 @@ async def download_file(url: str, max_size_mb: int | None = None) -> str: async with aiohttp.ClientSession(raise_for_status=True) as session: LOG.info("Starting to download file", url=url) - async with session.get(url) as response: + async with session.get(URL(url, encoded=True)) as response: # Check the content length if available if max_size_mb and response.content_length and response.content_length > max_size_mb * 1024 * 1024: # todo: move to root exception.py