使用HttpWebRequest向網(wǎng)站模擬上傳數(shù)據(jù)
發(fā)表時(shí)間:2024-01-27 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]最近有個(gè)朋友離開IT行業(yè)二年的朋友說(shuō)要實(shí)現(xiàn)用程序向某個(gè)網(wǎng)站的頁(yè)面上傳數(shù)據(jù),他是意思是每天有幾十條數(shù)據(jù)要在網(wǎng)站頁(yè)面上填寫,很煩,最好用程序來(lái)寫。網(wǎng)站頁(yè)面是用POST傳遞的,同時(shí)沒有驗(yàn)證碼之類的東東,只有一點(diǎn)限制就是5分種內(nèi)不能填寫二次記錄。這一切都好辦。using System.Web;using ...
最近有個(gè)朋友離開IT行業(yè)二年的朋友說(shuō)要實(shí)現(xiàn)用程序向某個(gè)網(wǎng)站的頁(yè)面上傳數(shù)據(jù),他是意思是每天有幾十條數(shù)據(jù)要在網(wǎng)站頁(yè)面上填寫,很煩,最好用程序來(lái)寫。網(wǎng)站頁(yè)面是用POST傳遞的,同時(shí)沒有驗(yàn)證碼之類的東東,只有一點(diǎn)限制就是5分種內(nèi)不能填寫二次記錄。這一切都好辦。
using System.Web;
using System.Net;
using System.Text;
using System.IO;
//創(chuàng)建對(duì)某個(gè)網(wǎng)站頁(yè)面的請(qǐng)求
HttpWebRequest myRequest = (HttpWebRequest )WebRequest.Create("http://www.knowsky.com/a.asp")
//上傳的數(shù)據(jù),”TextBox1“這些東東是網(wǎng)站頁(yè)面里的控件ID,如果要上傳多個(gè)值也是用&來(lái)分隔
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);//最終編碼后要上傳的數(shù)據(jù)
// 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了,如果你想上傳后看到網(wǎng)站的內(nèi)容的話,可以在程序里放一個(gè)IE控件,使用
axWebBrowser1.Navigate("http://www.knowsky.com/a.asp");
axWebBrowser1.Refresh2();