【问题标题】:How to simulate browser HTTP POST request and capture result in C#如何在 C# 中模拟浏览器 HTTP POST 请求并捕获结果
【发布时间】:2010-01-15 12:13:37
【问题描述】:

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

我们都知道。这是问题。

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

好吧,我知道如何捕获 HTTP POST(这就是网络嗅探器的用途),但是如何在 C# 代码中自己模拟这个 HTTP POST 请求?

【问题讨论】:

    标签: c# http-post


    【解决方案1】:

    你可以看看WebClient 类。它允许您将数据发布到任意 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
    

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 1970-01-01
      • 2018-11-02
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多