From d3fa76ade09136b50c744b299a1dd16895551b0d Mon Sep 17 00:00:00 2001 From: COLIN <978478090@qq.com> Date: Wed, 3 Dec 2025 17:15:16 +0800 Subject: [PATCH] #2308 In .NET 4.6.2, URLs do not execute Escape. #2308 In .NET 4.6.2, URLs do not execute Escape. https://github.com/restsharp/RestSharp/issues/2308 --- src/RestSharp/Request/UriExtensions.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/RestSharp/Request/UriExtensions.cs b/src/RestSharp/Request/UriExtensions.cs index bc48800cd..9cb26ebe8 100644 --- a/src/RestSharp/Request/UriExtensions.cs +++ b/src/RestSharp/Request/UriExtensions.cs @@ -31,7 +31,11 @@ public static Uri MergeBaseUrlAndResource(this Uri? baseUrl, string? resource) { var usingBaseUri = baseUrl.AbsoluteUri[^1] == '/' || assembled.IsEmpty() ? baseUrl : new(baseUrl.AbsoluteUri + "/"); - return assembled != null ? new(usingBaseUri, assembled) : baseUrl; +#if NETSTANDARD2_0 + return !string.IsNullOrWhiteSpace(assembled) ? new(usingBaseUri, assembled, true) : baseUrl; +#else + return !string.IsNullOrWhiteSpace(assembled) ? new(usingBaseUri, assembled) : baseUrl; +#endif } public static Uri AddQueryString(this Uri uri, string? query) { @@ -50,7 +54,11 @@ public static UrlSegmentParamsValues GetUrlSegmentParamsValues( params ParametersCollection[] parametersCollections ) { var assembled = baseUri == null ? "" : resource; - var baseUrl = baseUri ?? new Uri(resource); +#if NETSTANDARD2_0 + var baseUrl = baseUri ?? new Uri(resource, true); +#else + var baseUrl = baseUri ?? new Uri(resource); +#endif var hasResource = !assembled.IsEmpty();