如何在HttpWebRequest 里面去触发一个页面的单击事件

saucer(思归) 回复于 2005-08-12 21:12:29

it   works   fine   on   my   machine   (windows   2003   +   SP1)  
   
  1.   TestSubmit.aspx:  
   
  <html>  
  <body>  
  <form   runat="server">  
  <asp:TextBox   id="txt"   runat="server"   Text="123"   />  
  <asp:Button   id="btn"   runat="server"   Text="Submit"   OnClick="DoSubmit"   />  
  </form>  
  <script   language="C#"   runat="server">  
  void   DoSubmit(Object   sender,   EventArgs   e)  
  {  
      Page.Response.Write("btn   is   clicked,   txt's   value   is   "   +   txt.Text);  
  }  
  </script>  
   
  2.   TestSubmit.cs  
   
  using   System;  
  using   System.IO;  
  using   System.Text;  
  using   System.Net;  
   
  class   TestSubmit  
  {  
      static   void   Main()  
      {  
  string   URL   =   "http://localhost/labs/TestSubmit.aspx";  
  HttpWebRequest     myRequest   =   (HttpWebRequest)WebRequest.Create(URL);  
  string   data="__VIEWSTATE=dDwyMDE4OTI5MDg4Ozs%2B1%2BkI%2FHI0ADRnHgGL%2F%2F4aWuHYkI8%3D&txt=abcd&btn=Submit";  
  ASCIIEncoding   encoding=new   ASCIIEncoding();  
  byte[]   byte1=encoding.GetBytes(data);  
   
  myRequest.Referer=URL;  
  myRequest.ContentType="application/x-www-form-urlencoded";  
  myRequest.Method="POST";   //<---try   uppercase   here  
  myRequest.ContentLength=byte1.Length;   //use   the   byte[]   length  
  Console.WriteLine("Post   Length:{0}",myRequest.ContentLength);  
  Stream   newStream   =   myRequest.GetRequestStream();  
  newStream.Write(byte1,0,byte1.Length);  
  newStream.Close();  
   
  HttpWebResponse   response   =   (HttpWebResponse)myRequest.GetResponse();  
  Stream   st   =   response.GetResponseStream();  
  StreamReader   reader   =   new   StreamReader(st);  
  String   html   =   reader.ReadToEnd();  
  reader.Close();  
  st.Close();  
  response.Close();  
  Console.WriteLine("response   html:{0}",html);  
   
      }  
  }  
   
  3.   output:  
   
  Post   Length:92  
  response   html:btn   is   clicked,   txt's   value   is   abcd<html>  
  <body>  
  <form   name="_ctl0"   method="post"   action="TestSubmit.aspx"   id="_ctl0">  
  <input   type="hidden"   name="__VIEWSTATE"   value="dDwyMDE4OTI5MDg4Ozs+1+kI/HI0ADRnH  
  gGL//4aWuHYkI8="   />  
   
  <input   name="txt"   type="text"   value="abcd"   id="txt"   />  
  <input   type="submit"   name="btn"   value="Submit"   id="btn"   />  
  </form>

it   also   works   if   you   use  
   
  string   data=   "__EVENTTARGET=btn&__EVENTARGUMENT=&txt=abcd";  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值