HttpClient PostAsync C # всегда возвращает 404 Не найдено при использовании веб-API - PullRequest
0 голосов
/ 29 июня 2018

У меня есть серверный код на nodejs с Express, этот сервис прекрасно работает на тесте с Почтальоном

Сервер-код:

app.post("/v2/addComment", (request, response) => {
   let n = parseInt(request.query.number);
   let key = request.get("key");
   let token = request.get("token");
   getToken(token).then(result => {   
      let kind = result[0].kind;
      if(kind === key){
         addComment(n, request.body);
         var success = { event : 'done' };
         return response.json(success);
      }
      else{
         var success1 = { event : 'not done' };
         return response.json(success1)
      }
   }).catch(error => console.log(error));
});

Я пытаюсь использовать этот сервис из приложения Windows Form с HttpClient

private async Task<string> PostAsyncToken(string token, string key, int num, 
    List<Comment> comments){
    HttpClient httpClient = new HttpClient();
    httpClient.BaseAddress = new Uri("http://myhost.com/");
    string uri = string.Format("v2/addComment?number={0}", num);

    httpClient.DefaultRequestHeaders.Accept.Clear();    
    httpClient.DefaultRequestHeaders.Accept.Add(new 
    MediaTypeWithQualityHeaderValue("application/json"));                
    httpClient.DefaultRequestHeaders.Add("token", token);
    httpClient.DefaultRequestHeaders.Add("key", key);                              

    var json = JsonConvert.SerializeObject(comments);
    var content = new StringContent(json, Encoding.UTF8, "application/json");

    var response = await httpClient.PostAsync(uri,content);
    string contentResponse = await response.Content.ReadAsStringAsync();
    return await Task.Run(() => contentResponse);   
}

Тестовый ответ всегда возвращает 404 Not Found, и я полагаю, это потому, что запрос автоматически добавляет «https», когда он должен быть «http» при работе с почтальоном

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...