2016-11-17 2 views
0

Привет, ребята, я использую API-интерфейс Djira для получения проблем с использованием JQL. У меня есть проблема с кодировкой url в .NET..NET url encoding ala chrome

Я Jave в URL, как так http://jira/rest/api/2/search?jql=status="V řešení" и когда закодировать его в .NET я получаю

http://jira/rest/api/2/search?jql=status%3d%22V+%c5%99e%c5%a1en%c3%ad%22 

но с URL, как, что я получаю ошибку Bad Request от JIRA

"ErrorMessages": [ «Ошибка в JQL-запросе: символ«% »является зарезервированным символом JQL. Вы должны заключить его в строку или использовать escape '\ u0025'.

, но когда я прохожу URL для Google Chrome кодирует его как

http://jira/rest/api/2/search?jql=status%3d"V+řešení" 

, который работает abosultly хорошо с JIRA.

Итак, у меня есть вопрос, как заставить .NET кодировать URL-адрес так же, как это делает google chrome?

ответ

0

В зависимости от того, насколько сильно ваша библиотека получит доступ, вам может не понадобиться кодировать всю строку URL. Выполнение urlString.Replace ("", "+"). Заменить ("=", "% 3d") может быть достаточно, чтобы на самом деле были только символы, которые должны быть закодированы.

+0

Да, но в этом случае мне пришлось бы много работать, анализируя параметры запроса, а затем переписывать их самостоятельно. Я надеялся, что есть некоторые стандарты с rfc или cheething. – Teamol

+0

Можете ли вы привести пример того, как вы анализируете параметры запроса? Как только предварительная обработка выполняется для построения строки запроса, вы должны иметь возможность использовать полностью сформированный url и применять команды «replace» для всего, а не отдельно для каждой пары ключ-значение запроса – HeyZiko

Смежные вопросы