2017-11-27 19 views
1

C#HTMLWebRequestを使用してWebページフォームにあるボタンを押すことをシミュレートする投稿要求を送信しようとしています。 HTMLポストを送信し、HTMLレスポンス読み取るためにC#を使用してWebフォームボタンのシミュレーションをクリックするHttpWebRequest

 <form method="post" action="HtmlAdaptor"> 
     <input type="hidden" name="action" value="invokeOp"> 
     <input type="hidden" name="name" 
      value='somevalue'> 
     <input type="hidden" name="methodIndex" value="5"> 
     <hr align='left' width='80'> 
     <h4>java.util.List methodName()</h4> 
     <p>MBean Operation.</p> 

     <input type="submit" value="Invoke"> 
     </form> 

マイコード:私はに変換される文字列ビルダ変数「SB」を持っている

string webURL = "http://pageurl"; 
HttpWebRequest myRequest =(HttpWebRequest)WebRequest.Create(webURL); 
myRequest.Method = "POST"; 
     byte[] lbPostBuffer = System.Text.Encoding.GetEncoding(1252).GetBytes(sb.ToString()); 
     myRequest.ContentType = "text/xml; charset=utf-8"; 
     myRequest.ContentLength = lbPostBuffer.Length; 
     myRequest.Accept = "text/xml"; 

     Stream loPostData = myRequest.GetRequestStream(); 
     loPostData.Write(lbPostBuffer, 0, lbPostBuffer.Length); 
     loPostData.Close(); 
     HttpWebResponse loWebResponse = (HttpWebResponse)myRequest.GetResponse(); 
     Encoding enc = System.Text.Encoding.GetEncoding(1252); 
     StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream(), enc); 
     string lcHtml = loResponseStream.ReadToEnd(); 

     loWebResponse.Close(); 

     loResponseStream.Close(); 

をWebページ上のフォームには、次のようになります。サイトに投稿されるバイト配列。私の問題は、私がsb.ToString()で送信して、フォーム上の呼び出しボタンを送信する必要があるかどうか分からないことです。

答えて

0

私はフィドラーを使用してリクエストのフォーマットを見つけました。

関連する問題