18

HTTP GET 経由でサーバーにデータを送信する検索入力フォームを含む Web ページがあるとします。これは、サーバーがクエリ文字列を介して検索データを受信することを意味します。ユーザーは URL を確認でき、このリクエストを自分で (URL + クエリ文字列を介して) 初期化することもできます。

我々はすべてそれを知っている。これが質問です。

この Web ページが HTTP POST 経由でサーバーにデータを送信するとどうなりますか? ユーザーは自分でこのリクエストをどのように初期化できますか?

HTTP POST をキャプチャする方法は知っていますが (ネットワーク スニファーが必要なのはそのためです)、C# コードでこの HTTP POST 要求を自分でシミュレートするにはどうすればよいでしょうか?

4

1 に答える 1

25

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
于 2010-01-15T12:15:52.903 に答える