رفع خطای Invalid non-ASCII or control character in header: 0x0634 در Asp.net core
سلام
پروزه من با Asp.net core 2.1 هست . توی پروژه یک مشکلی با دستور Redirect دارم. بخشی از Url به صورت فارسی هست. مثل زیر :
HTTP://localhost:50551/Product/2/موبایل
در واقع آخرین پارامتر Url فارسی هست و خطای زیر رو دریافت می کنم :
InvalidOperationException: Invalid non-ASCII or control character in header: 0x0634
اما وقتی آخرین پارامتر رو انگلیسی ارسال میکنم هیچ خطایی نداره و درست کار می کنه
HTTP://localhost:50551/Product/2/mobile
کدهای بخش کنترلر هم به صورت زیر هست
[HttpPost]
[Route("Login")]
public IActionResult Login(LoginViewModel login, string returnUrl)
{
if (!ModelState.IsValid)
{
ViewBag.ReturnUrl = returnUrl;
return View(login);
}
//SignIn Codes is hidden
if (Url.IsLocalUrl(returnUrl) && !string.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
if (permissionService.CheckUserIsInRole(user.UserId, "Admin"))
{
return Redirect("/Admin/Dashboard");
}
ViewBag.IsSuccess = true;
return View();
}
لطفا راهنمای کنید برای رفع خطا چه کاری باید انجام بدم؟
این خطا بخاطر دستور Redirect(URL) هست. البته احتمالا شما از هاست Kestrel دارید استفاده می کنید چون توی هاست IIS این مشکل معمولا پیش نمیاد.
اما برای رفع این خطا شما می تونید از دستورات زیر به جای دستورات خودتون استفاده کنید
var host= "http://localhost:60695";
var path = "/Product/2/موبایل";
path=String.Join(
"/",
path.Split("/").Select(s => System.Net.WebUtility.UrlEncode(s))
);
return Redirect(host+path);
دلیل اصلی این خطا این هست که پروتکل Http کاراکترهای غیر اسکی رو قبول نمیکنه. برای راهنمایی بیشتر در این مورد می تونید به این لینک هم مراجعه بفرمایید.
ممنون از شما saedbfd
درست شد 🌝
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2