c# - 值不能为空。参数名称:过滤器。如何找到这个参数?
问题描述
我正在发帖请求。上图是在 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;
}
过滤器参数不会出现在浏览器网络中,无论是在请求正文中还是在标头中。
解决方案
推荐阅读
- java - 返回具有任意数量输入参数的函数
- php - PHP电报机器人:错误请求:未找到要编辑的消息
- git - GIT中的Maven多模块项目结构
- ruby-on-rails-5 - 在 Rails 5 中,我如何编写一个查找器“OR”查询来表示从列表中排除或为零?
- laravel - Laravel 按 URL 过滤表单
- python - 用于验证 REST 响应结构的库
- docker - 使用 IBM 区块链平台 VScode 扩展创建超级账本结构环境时出错
- python - 如何使用python对excels(不同的列名)进行vlookup
- javascript - 基于类的vue组件如何加载动态组件
- html - 点击 Angular Material 卡片内的按钮会触发卡片本身的点击事件