Ошибка недопустимого URI при использовании httpclient для использования REST API - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь использовать REST API из приложения форм xamarin, используя следующий код. однако по какой-то странной причине я получаю ошибку недопустимого URI. Я также пробовал использовать абсолютный путь в методе PostAsyn c, но ошибка все еще сохраняется. Может ли кто-нибудь помочь мне в этом, пожалуйста?

HttpClient client = new HttpClient (); string baseAdd = @ "http://localhost: 9000";

    public async void GenerateAPIToken()
    {

        string tsResult = "";
        try
        {

            Token token = new Token();
            //GET TOKEN
            client.BaseAddress = new Uri(baseAdd);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            HttpRequestMessage msg = new HttpRequestMessage();
            msg.Content = new StringContent(@"{""username"":""admin"",""password"":""admin123""}");


            HttpResponseMessage response = await client.PostAsync(client.BaseAddress+"token/generate.php", msg.Content);


            if (response.StatusCode == HttpStatusCode.OK)
            {
                HttpContent cnt = response.Content;
                tsResult = await cnt.ReadAsStringAsync();
                token = JsonConvert.DeserializeObject<Token>(tsResult);
                App.apiToken = token.Document.AccessToken;
            }

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

    }

Спасибо

1 Ответ

1 голос
/ 01 августа 2020

вы уже указали BaseAddress

client.BaseAddress = new Uri(baseAdd);

, поэтому вам не нужно делать это снова здесь

HttpResponseMessage response = await client.PostAsync(client.BaseAddress+"token/generate.php", msg.Content);

, просто сделайте это

HttpResponseMessage response = await client.PostAsync("/token/generate.php", msg.Content);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...