私は、ボタンクリック時にURLにPOSTデータを送信するために次のコードを使用しています。私はこのデータと共にフォーム名を送ることができる必要があります。助言がありますか?C#を使用したHTTPポストフォーム - フォームの投稿名
string url = "http://www.someurl.com";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
string proxy = null;
string data = String.Format("{0}={1}&{2}={3}&{4}={5}&{6}={7}&{8}={9}&{10}={11}",
txtName.ClientID, txtName.Text,
txtEmail.ClientID, txtEmail.Text,
txtLanguages.ClientID, txtLanguages.Text,
txtPhone.ClientID, txtPhone.Text,
txtAdditional.ClientID, txtAdditional.Text);
byte[] buffer = Encoding.UTF8.GetBytes(data);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = buffer.Length;
req.Proxy = new WebProxy(proxy, true); // ignore for local addresses
req.CookieContainer = new CookieContainer(); // enable cookies
Stream reqst = req.GetRequestStream(); // add form data to request stream
reqst.Write(buffer, 0, buffer.Length);
reqst.Flush();
reqst.Close();
「フォーム名」とはどういう意味ですか? –
あなたはフォームデータをURLにエンコードしていないので、ユーザーが"& "などの文字を入力すると問題に遭遇します。あなたがString.Format()に渡す各データ値の.EscapeUriString()。 – saille