首页 > 解决方案 > 值不能为空。参数名称:过滤器。如何找到这个参数?

问题描述

在此处输入图像描述

我正在发帖请求。上图是在 C# 中的 Web 浏览器控件上运行的 HTML 响应字符串。这只是为了更好地观看。

这是身体:

"username=user&useremail=email&userFullName=fullname&WesVersion=18116310&cid=410_EX03598&product=PROCESS&isModalPage=False&isBennerEnvironment=False&isProduction=True&environmentDescription=PRODU%c3%87%c3%83O&ActiveRole=role&canShowNPS=True&client=Banco&systemVersion=07.0"

这是帖子:

var post = await req.Post(url, Encoding.UTF8.GetBytes(body));

这是功能:

internal async Task<string> Post(string url, byte[] body)
{
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Method = "POST";
    webRequest.Timeout = int.MaxValue;
    webRequest.Headers.Add(HttpRequestHeader.Cookie, GetUriCookieContainer(new Uri(url)).GetCookieHeader(new Uri(url)));
    webRequest.CookieContainer = GetUriCookieContainer(new Uri(url));
    webRequest.Accept = "*/*";
    webRequest.KeepAlive = true;
    webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)";
    webRequest.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
    webRequest.ContentLength = body.Length;
    webRequest.Referer = "url-referer";
    webRequest.Host = "url-host";

        using (var stream = webRequest.GetRequestStream())
        {
            stream.Write(body, 0, body.Length);
        }
        var response = (HttpWebResponse)webRequest.GetResponse();

        var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

        return responseString;
}

过滤器参数不会出现在浏览器网络中,无论是在请求正文中还是在标头中。

标签: c#posthttprequest

解决方案


推荐阅读