Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# 如何在C语言中模拟浏览器HTTP POST请求和捕获结果#_C#_Http Post - Fatal编程技术网

C# 如何在C语言中模拟浏览器HTTP POST请求和捕获结果#

C# 如何在C语言中模拟浏览器HTTP POST请求和捕获结果#,c#,http-post,C#,Http Post,假设我们有一个带有搜索输入表单的网页,它通过HTTP GET将数据提交给服务器。这意味着服务器通过查询字符串接收搜索数据。用户可以看到URL,也可以自己初始化此请求(通过URL+查询字符串) 我们都知道这一点。问题是 如果此网页通过HTTP POST向服务器提交数据,该怎么办?用户如何自己初始化此请求 我知道如何捕获HTTP POST(这就是为什么网络嗅探器适用的原因),但是我如何在C代码中自己模拟这个HTTP POST请求呢?您可以看看这个类。它允许您将数据发布到任意url: using (v

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

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

如果此网页通过HTTP POST向服务器提交数据,该怎么办?用户如何自己初始化此请求


我知道如何捕获HTTP POST(这就是为什么网络嗅探器适用的原因),但是我如何在C代码中自己模拟这个HTTP POST请求呢?

您可以看看这个类。它允许您将数据发布到任意url:

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