繁体   English   中英

C#HTTPClient表单发布和提交问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM