假设我们有一个搜索输入表格,它通过HTTP GET将数据提交到服务器的网页。所以,这意味着服务器通过查询字符串接收的搜索数据。用户可以看到的URL,并且还可以通过初始化自己该请求(经由URL +查询字符串)。

我们都知道这一点。这里是个问题。

如果此网页提交数据通过HTTP POST的服务器?用户如何通过自己初始化这个请求?

嗯,我知道如何捕捉HTTP POST(这就是为什么网络嗅探器是),但我怎么能由我自己在C#代码模拟这个HTTP POST请求?

有帮助吗?

解决方案

您可以看看在 WebClient的类。它可以让你发布的数据到任意网址:

using (var client = new WebClient())
{
    var dataToPost = Encoding.Default.GetBytes("param1=value1&param2=value2");
    var result = client.UploadData("http://example.com", "POST", dataToPost);
    // do something with the result
}

将生成下列请求:

POST / HTTP/1.1
Host: example.com
Content-Length: 27
Expect: 100-continue
Connection: Keep-Alive

param1=value1&param2=value2
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top