#c# #json #wordpress #xamarin.forms #wordpress-rest-api
#c# #json #wordpress #xamarin.forms #wordpress-rest-api
Вопрос:
Я выполняю базовый запрос API с использованием оператора ParseQueryString .
Когда я передаю определенное значение через ParseQueryString, оно автоматически форматирует его.
Например, если я передам example@example.com через ParseQueryString возвращаемый результат будет :
example@example.com
Какой сервер вернет значение null.
Однако, если переданное значение равно:
example@example.com
Тогда это будет работать.
Я понимаю, что строки запроса обычно не имеют «@», но есть ли способ передать «@» на сервер API?
Вот мой код:
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
queryString["email"] = LoggedIn.LoggedInEmail;
var apiuri = "https://example.com/wp-json/wc/v3/customers?" queryString;
Console.WriteLine(apiuri);
Возвращаемый API:
https://example.com/wp-json/wc/v3/customers?email=example@example.com
Когда она должна отображаться следующим образом:
https://example.com/wp-json/wc/v3/customers?email=example@example.com
Ответ №1:
Попробуйте использовать HttpUtility.UrlDecode
метод после создания apiuri.
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
queryString["email"] = LoggedIn.LoggedInEmail;
var apiuri = "https://example.com/wp-json/wc/v3/customers?" queryString;
var url = HttpUtility.UrlDecode(apiuri,Encoding.UTF8);
Console.WriteLine(url);