🔰 الان داشتم اینو سرچ میکردم میزارم اینجا هم آرشیو بشه هم شاید به دردتون بخوره
واسه Encode کردن URL راه های مختلفی تو دات نت وجود داره
HttpUtility.UrlPathEncode
HttpUtility.UrlEncode
WebUtility.UrlEncode
Uri.EscapeUriString
Uri.EscapeDataString
🔸داغون ترینشون اینه HttpUtility.UrlPathEncode
اصلا درست کار نمیکنه و خروجی رو خراب میکنه تو بعضی موارد. مثلا % و # رو encode نمیکنه
اینجا یه سری مواردش رو گفته
https://stackoverflow.com/a/1148326
🔹اینم یه سری مشکلات داره Uri.EscapeUriString و جدیدا deprecate شده
تو یه سری موارد خروجی رو خراب میکنه مثلا # رو encode نمیکنه
توضیحات بیشتر
https://stackoverflow.com/a/34189188
🔸این 2تا مثل هم رفتار میکنن و روششون اینطوریه که space رو به "+" تبدیل میکنن. فقط یه تفاوت کوچیک دارن
WebUtility.UrlEncode (حروف UpperCase تولید میکنه)
HttpUtility.UrlEncode (حروف LowerCase تولید میکنه)
🔹این 2تا مشکلی که دارن اینه که یه سری کاراکتر های «رزرو نشده» مثل "~" رو هم encode میکنن
توضیحات بیشتر
https://stackoverflow.com/a/47877559
✅ بهترینشون هم که خروجی کاملا استاندارد تولید میکنه و هیچ کدوم از این مشکلات رو نداره اینه
Uri.EscapeDataString
توضیحات بیشتر
https://stackoverflow.com/questions/602642/server-urlencode-vs-httputility-urlencode/
____________________
@DotNetZoom
Post #1241
4.34K