使用HttpWebRequest向网站模拟上传数据
作者:
最近有个朋友离开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();