C#でブラウザのHTTP POSTリクエストとキャプチャ結果をシミュレートする方法
質問
私たちはHTTP GETを介してサーバにデータを送信する検索入力フォームとWebページを持っているとしましょう。だから、平均サーバがクエリ文字列を通じて検索データを受け取ります。ユーザーは、URLを見ることができ、また(URL +クエリ文字列を使用して)自分でこの要求を初期化することができます。
我々は、すべてのことを知っています。ここで質問です。
これは何WebページがHTTP POSTを介してサーバにデータを送信する場合は?どのようにユーザーが自分でこの要求を初期化することができますか?
さて、私は(ネットワークスニファをするためのものである理由です)HTTP POSTをキャプチャする方法を知っているが、どのように私はC#のコードに自分でこのHTTP POST要求をシミュレートすることができますか?
解決
あなたはのWebClient のを見てみることができクラス。それはあなたが任意のURLにデータを投稿することができます:
using (var client = new WebClient())
{
var dataToPost = Encoding.Default.GetBytes("param1=value1¶m2=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¶m2=value2
所属していません StackOverflow