C#模拟POST提交表单(一)--WebClient
C#的提交表单方式主要有两种WebClient与HttpWebRequest,这里先介绍一种
WebClient,转送门:http://msdn.microsoft.com/zh-cn/library/system.net.webclient(v=VS.80).aspx
- string postString = "arg1=a&arg2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来
- byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
- string url = "http://localhost/register.php";//地址
- WebClient webClient = new WebClient();
- webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
- byte[] responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流
- string srcString = Encoding.UTF8.GetString(responseData);//解码
各位刚做网站的要注意了,如果自己的网页需要注册登录之类的,赶紧加个验证码吧,自动注册机、论坛灌水机等的都是用的类似的原理。
不过想当年自己选课的时候靠的就是这个啊,这也算是计算机系的优势吧!!!