Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpClient向网页发布表单返回相同的页面_C#_Asp.net_Dotnet Httpclient - Fatal编程技术网

C# HttpClient向网页发布表单返回相同的页面

C# HttpClient向网页发布表单返回相同的页面,c#,asp.net,dotnet-httpclient,C#,Asp.net,Dotnet Httpclient,我在一个网站上设计了一个页面,用于添加某个实体。我试图使用C#HttpClient添加这个实体。我的步骤顺序如下所示: 首先,我使用客户端进行身份验证: 公共静态异步任务WebPortalLogin(字符串baseURI、字符串phoneNo、字符串pin) { var cookies=新的CookieContainer(); var handler=new-HttpClientHandler() { CookieContainer=cookies }; var client=新的HttpCli

我在一个网站上设计了一个页面,用于添加某个实体。我试图使用C#HttpClient添加这个实体。我的步骤顺序如下所示:

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

公共静态异步任务WebPortalLogin(字符串baseURI、字符串phoneNo、字符串pin)
{
var cookies=新的CookieContainer();
var handler=new-HttpClientHandler()
{
CookieContainer=cookies
};
var client=新的HttpClient(处理程序);
var content=newformurlencodedcontent(new[]{
新的KeyValuePair(“页面”、“登录”),
新的KeyValuePair(“noStaticBox”和“),
新的KeyValuePair(“用户名”,电话号码),
新的KeyValuePair(“密码”,pin),
新的KeyValuePair(“登录”、“验证”),
新的KeyValuePair(“_需求号”,“0”),
});
var response=wait client.PostAsync(baseURI,content);
response.EnsureSuccessStatusCode();
var stringResponse=response.Content.ReadAsStringAsync().Result;
var cookieJar=cookies.GetCookies(新Uri(baseURI));
返回cookieJar;
}
然后我发送POST请求,以编辑包含我要保存的所有数据的页面:

公共静态异步任务AddCar(字符串baseURI、字符串phoneNo、CookieCollection cookieJar、字符串carNo、字符串所有者)
{
var cookieContainer=新的cookieContainer();
var client=newhttpclient(newhttpclienthandler(){CookieContainer=CookieContainer});
var content=newformurlencodedcontent(new[]{
新的键值对(“carNo”,carNo),
新的KeyValuePair(“用户名”,所有者),
新的KeyValuePair(“页码”、“卡号”),
新的KeyValuePair(“提交”、“提交”),
新的KeyValuePair(“操作”、“添加车”),
新的KeyValuePair(“\u需求号”,“0”)
});
添加(新Uri(baseURI),cookieJar);
var response=wait client.PostAsync(baseURI,content);
var stringResponse=response.Content.ReadAsStringAsync().Result;
返回响应;
}

然而,这个POST请求并没有任何作用,作为响应,我有这个非常编辑的页面,尽管当我以正常的方式(通过网站)添加这个实体时,我得到了空响应,实体被成功保存。已经检查过饼干了-它们没问题。我唯一能想到的是请求头,但成功的帖子只有常规的头,比如接受、接受编码等。我可能会犯什么错误?我如何才能发布它?注意:所有连接都使用HTTPS。

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

要帮助调试,请下载Fiddler之类的产品并比较请求。我肯定少了些什么。