как отправить запрос? - PullRequest
0 голосов
/ 14 июня 2019

Как использовать почтовый сервис в C #?Я провел тесты с POSTMAN и получил данные ответа, но в .net мой ответ пуст.Отлично работает в PostMan.Проблема в том, как отформатировать Содержимое тела и отправить его.

            string idop = "";
            List<ProductJSON> listProductsJSON = new List<ProductJSON>();
            List<List<string>> productJSON = new List<List<string>>();

            List<string> products = new List<string>();
            products.Add("4");
            products.Add("5");
            products.Add("30.2");
            products.Add("1");
            products.Add("0");
            products.Add("4");
            productJSON.Add(products);

using (var client = new HttpClient())
            {
                var res = client.PostAsync("http://xyz.cti.lat/sant2/webservices/edd.php",
                  new StringContent(JsonConvert.SerializeObject(
                    new {
                        a = "pCatlog",
                        cnal = "RED",
                        tpo = "2",
                        fpago = "DETO",
                        pgdo = "0",
                        rc = "13123",
                        local = "BACK",
                        localorg = "BACK",
                        raz = "PPPPPP",
                        dir_ruc = "name",
                        log = "CREAVIR",
                        not = "DETO2",
                        del = "0",
                        dir = "",
                        ubi = "",
                        refe = "",
                        prod = productJSON
                    }),
                    Encoding.UTF8, "application/json")));

                try
                {
                    res.Result.EnsureSuccessStatusCode();
                    var x = res;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }

1 Ответ

0 голосов
/ 14 июня 2019

Можете ли вы попробовать этот код внутри блока try?

if (res.IsCompleted)
{
    var result = res.Result;
    var response = result.Content.ReadAsStringAsync();
    var data = response.Result;
}

В идеале можно объявить это как асинхронный метод и использовать операции await для получения результата следующим образом.

var res = await client.PostAsync(<url>, <string_content>);         
var result = await res.Content.ReadAsStringAsync();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...