使用HttpWebRequest向网站模拟上传数据
发布时间:2006-10-14 8:58:24   收集提供:gaoqian

最近有个朋友离开IT行业二年的朋友说要实现用程序向某个网站的页面上传数据,他是意思是每天有几十条数据要在网站页面上填写,很烦,最好用程序来写。网站页面是用POST传递的,同时没有验证码之类的东东,只有一点限制就是5分种内不能填写二次记录。这一切都好办。

using System.Web;
using System.Net;
using System.Text;
using System.IO;

//创建对某个网站页面的请求

HttpWebRequest  myRequest = (HttpWebRequest )WebRequest.Create("http://www.knowsky.com/a.asp")

//上传的数据,”TextBox1“这些东东是网站页面里的控件ID,如果要上传多个值也是用&来分隔

   string postData="TextBox1="+this.textBox1.Text+"&TextBox2="+this.textBox2.Text+"
&TextBox3="+this.textBox3.Text+"&TextBox4="+this.textBox4.Text;
   ASCIIEncoding encoding=new ASCIIEncoding();
   byte[]  byte1=encoding.GetBytes(postData);//最终编码后要上传的数据
   // Set the content type of the data being posted.
   myRequest.ContentType="application/x-www-form-urlencoded";
   myRequest.Method="post";//post上传方式
   // Set the content length of the string being posted.
   myRequest.ContentLength=postData.Length;
   Stream newStream=myRequest.GetRequestStream();
   newStream.Write(byte1,0,byte1.Length);


一切就OK了,如果你想上传后看到网站的内容的话,可以在程序里放一个IE控件,使用

axWebBrowser1.Navigate("http://www.knowsky.com/a.asp");
axWebBrowser1.Refresh2();

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50