首页 > 解决方案 > HttpClient PostAsync 未发送正确的请求

问题描述

我正在学习如何使用 C# 发送请求

我想向航空公司的服务器发送请求,以获取有关航班及其价格的响应。
在 Postman 中,我发送以下 JSON:

{"flightList":[{"departureStation":"KUT","arrivalStation":"VIE","from":"2019-03-18","to":"2019-03-31"},{"出发站":"VIE","到达站":"KUT","from":"2019-04-01","to":"2019-05-05"}],"priceType":"wdc","成人计数”:1,“儿童计数”:0,“婴儿计数”:0}

到这个网址:

https://be.wizzair.com/9.7.1/Api/search/timetable/

它就像一个魅力。尽管何时尝试使用 HttpClient 在我的 C# 代码中实现它,但我每次都会收到 404 Not Found 错误。

这是我有atm的代码:

static void Main(string[] args)
    {
        Send("{\"flightList\":[{\"departureStation\":\"KUT\",\"arrivalStation\":\"VIE\",\"from\":\"2019-03-18\",\"to\":\"2019-03-31\"},{\"departureStation\":\"VIE\",\"arrivalStation\":\"KUT\",\"from\":\"2019-04-01\",\"to\":\"2019-05-05\"}],\"priceType\":\"wdc\",\"adultCount\":1,\"childCount\":0,\"infantCount\":0}",
            "https://be.wizzair.com/9.7.1/Api/search/timetable/");
    }


    public static async void Send(string body, string uri)
    {
        string myJson = body;
        var client = new HttpClient();
        var response = await client.PostAsync(uri,
                new StringContent(myJson, Encoding.UTF8, "application/json"));

        var requesturl = response.RequestMessage.Headers;
        Console.WriteLine("LOG: " + requesturl.ToString());

        var contents = await response.Content.ReadAsStringAsync();
        Console.WriteLine(contents);
    }


我尝试从文本文件中获取 JSON,因为我认为转义字符可能会导致问题,但它并没有解决问题。将不胜感激任何帮助!

标签: c#dotnet-httpclient

解决方案


推荐阅读