Forum Discussion
Why is %29 in a URL Encode to ) During a Request?
- 1 year ago
Hi Suraj_Ncircle
While encoding the entire URL using Uri.EscapeDataString in PQ is problematic because Web.Contents expects a valid absolute URL and may not properly handle fully encoded URLs.
However, we can work around this by constructing the request in a way that ensures encoding remains intact.
Manually encoding the entire URL:
***************************************************************
let
BaseUrl = "https://cdn.Domain.com/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlO_dmVyc2lvbj0x/output/Resource/3D%20View/2_%2...",
Cookies = "your_cookie_data",
EncodedUrl = Uri.EscapeDataString(BaseUrl), // Encode the entire URL
QueryResponse = Web.Contents(EncodedUrl & Cookies, [Headers=[#"Accept"="application/json"]])
in
QueryResponse
***************************************************************
After giving a try if still the issue persists. Could you please follow below link to raise a support ticket
https://learn.microsoft.com/en-us/power-bi/support/create-support-ticketIf the above information helps you, please give us a Kudos and marked the reply Accept as a Solution.
Thanks,
Cheri Srikanth
Suraj_Ncircle Hi!
This issue arises because the Web.Contents function in Power Query may automatically normalize or decode parts of the URL before sending the request. Specifically, %29 (representing a closing parenthesis) is being decoded to ) during this process.
You can try using Uri.EscapeDataString to explicitly encode the URL again or manipulate the raw HTTP request if possible. Here's an example workaround in Power Query:
let
BaseUrl = "https://cdn.Domain.com/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlO_dmVyc2lvbj0x/output/Resource/3D%20View/2_%2...%29%20S-A_%20%EA%B5%AC%EC%A1%B0%2014159939/2_%20%EC%84%B1%EB%8A%A5%20%EA%B5%AC%EB%B6%84%29%20S-A_%20%EA%B5%AC%EC%A1%B0?",
Cookies = "your_cookie_data",
EncodedUrl = Text.Replace(BaseUrl, "%29", "%2529"), // Double encode %29 to %2529
QueryResponse = Web.Contents(EncodedUrl & Cookies)
in
QueryResponse
BBF