[英]C# HTTPClient Form Post and Submit Issue
我正在尝试用简单的形式对php网站进行一些轻量级的屏幕抓取,以简化我的研究工作。 该页面具有一个简单的表单,其中包含三个字段和一个提交按钮。
当我运行代码时,将返回原始页面,就像我什么都没提交一样。 我还尝试在php网址后以?name = etc ...的形式粘贴在字段中,但这也使我返回到原始页面,就好像我没有按下提交按钮一样。
这是我当前的代码:
private async void postRequest(string url)
{
using (HttpClient client = new HttpClient())
{
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("case_type", "55"));
values.Add(new KeyValuePair<string, string>("petname", "singh"));
values.Add(new KeyValuePair<string, string>("year", "2016"));
values.Add(new KeyValuePair<string, string>("button", "Submit"));
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync(url, content);
var responseString = await response.Content.ReadAsStringAsync();
using (StreamWriter post = new StreamWriter("post_website.txt"))
{
post.WriteLine(responseString);
}
}
}
提交后的Chrome Dev Tools屏幕截图 。 我删除了部分网址,这是一个公共信息网站,但是为了以防万一。
我认为我做错了什么,因为我已经基本自学了C#,这是我第一次尝试做与C#相关的任何网络。
我在这里在StackOverflow上发现了一个类似的问题: 填写C#和Post Error ,但是此代码也不起作用,我也不认为需要cookie。 我已经尝试过其他各种关于对服务器使用HttpClient和WebClient POST请求的StackOverflow答案,但是没有一个起作用。
在此先感谢您的任何建议或见解。
lc使我走上了正确的道路。 我对接收表单输入的内容做出了一些错误的假设。 显而易见,现在我也应该尝试使用结果页网址。 我想是时候去学习更多的php和网页设计了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.