HttpClient 将表单发布到网页 returns 相同的页面

HttpClient posting form to a web page returns the same page

我在网站上有一个专为添加特定实体而设计的页面。我想要做的是使用 C# HttpClient 添加这个实体。我的步骤顺序如下所示:

首先我使用客户端进行身份验证:

public static async Task<CookieCollection> WebPortalLogin(string baseURI, string phoneNo, string pin)
    {

        var cookies = new CookieContainer();
        var handler = new HttpClientHandler()
        {
            CookieContainer = cookies
        };
        var client = new HttpClient(handler);
        var content = new FormUrlEncodedContent(new[]{
            new KeyValuePair<string,string>("page","login"),
            new KeyValuePair<string,string>("noStaticBox",""),
            new KeyValuePair<string,string>("username",phoneNo),                
            new KeyValuePair<string,string>("password",pin),
            new KeyValuePair<string,string>("login","Увійти"),
            new KeyValuePair<string,string>("_reqNo","0"),
        });

        var response = await client.PostAsync(baseURI, content);

        response.EnsureSuccessStatusCode();


        var stringResponse = response.Content.ReadAsStringAsync().Result;
        var cookieJar = cookies.GetCookies(new Uri(baseURI));
        return cookieJar;
    }

然后我发送 POST 请求编辑包含我要保存的所有数据的页面:

public static async Task<HttpResponseMessage> AddCar(string baseURI, string phoneNo, CookieCollection cookieJar, string carNo, string owner)
    {
        var cookieContainer = new CookieContainer();

        var client = new HttpClient(new HttpClientHandler() { CookieContainer = cookieContainer });

        var content = new FormUrlEncodedContent(new[]{
            new KeyValuePair<string,string>("carNo",carNo),
            new KeyValuePair<string,string>("userName",owner),
            new KeyValuePair<string,string>("page","carNumbers"),
            new KeyValuePair<string,string>("submit","Додати"),
            new KeyValuePair<string,string>("operation","addCar"),
            new KeyValuePair<string,string>("_reqNo","0")
        });
        cookieContainer.Add(new Uri(baseURI), cookieJar);
        var response = await client.PostAsync(baseURI, content);
        var stringResponse = response.Content.ReadAsStringAsync().Result;

        return response;
    }

然而,这个 POST 请求什么也没做,作为回应我有这个非常编辑的页面,虽然当我以正常方式(通过网站)添加这个实体时,我得到空响应并且实体成功保存。已经检查过 cookie - 它们没问题。我唯一能想到的就是请求headers,但是成功的POST只有常规的,比如Accept,Accept-Encoding等。我可能犯的错误是什么,我怎样才能发布?注意:所有连接都使用 HTTPS。

好的,弄乱了几个小时后我发现问题出在一个请求参数中,与 httpclient 无关