Пустельга: ошибка, если я использую URL-адрес с символами, отличными от ASCII

Я использую Kestrel для размещения своих веб-приложений ASP.Net Core. Мне нужно использовать специальные символы (не ASCII) в URL-адресе.

Если я использую IIS Express в Visual Studio, я могу использовать символы, отличные от ASCII, в URL-адресе. Если я использую Kestrel, я не могу его использовать. Могу ли я настроить Kestrel так, чтобы в URL-адресе можно было использовать символы, отличные от ASCII?

Если нет: есть ли способ в .NET Standard 1.4 кодировать URL-адрес Unicode в URL-адрес ASCII?

Спасибо вперед.

С уважением Матиас


person Matthias Wirth    schedule 18.06.2018    source источник
comment
Какую ошибку вы получаете?   -  person DavidG    schedule 18.06.2018
comment
Я получаю только 400 Bad Request   -  person Matthias Wirth    schedule 18.06.2018
comment
Там будет гораздо больше информации, чем просто это. Каково содержание ошибки 400?   -  person DavidG    schedule 18.06.2018
comment
Я знаю. Мне также нужно больше информации. Но больше информации в содержании нет. Кстати, я использую Postman для вызова веб-службы.   -  person Matthias Wirth    schedule 18.06.2018
comment
Взгляните на это и использовать его для получения дополнительной информации.   -  person DavidG    schedule 18.06.2018
comment
Я уже использую его. Я думаю, что он не доходит до метода HttpGet...   -  person Matthias Wirth    schedule 18.06.2018
comment
Без более подробной информации, я не могу помочь, я боюсь.   -  person DavidG    schedule 18.06.2018
comment
Теперь я заметил, что эта ошибка возникает только с Postman. Если я использую Firefox для вызова веб-службы, он работает.   -  person Matthias Wirth    schedule 18.06.2018
comment
Если я использую Microsoft Edge и Google Chrome, он также работает...   -  person Matthias Wirth    schedule 18.06.2018


Ответы (1)


Как правило, любые специальные символы должны быть закодированы. Это единственный безопасный способ включить их в URL. В частности, это касается не только ASCII-символов, а небезопасности URL-адресов. URL-адреса могут быть в формате Unicode, поэтому существует множество символов, отличных от ASCII, которые прекрасно подходят.

System.Runtime.Extensions NuGet предоставляет URL-кодирование, которое должно поддерживаться в .NET Standard 1.0+. .

person Chris Pratt    schedule 18.06.2018