|
楼主 |
发表于 2013-9-27 17:23:05
|
显示全部楼层
string url = "http://www.360xian.cn/User/userreg.asp";
Encoding enc = System.Text.Encoding.GetEncoding("gb2312");
CookieContainer cc = new CookieContainer();
string param = HttpUtility.UrlEncode("Action", enc) + "=" + HttpUtility.UrlDecode("SaveReg1", enc) + "&" +
HttpUtility.UrlEncode("city", enc) + "=" + HttpUtility.UrlDecode("海定区", enc) + "&" +
HttpUtility.UrlEncode("day", enc) + "=" + HttpUtility.UrlDecode("2", enc) + "&" +
HttpUtility.UrlEncode("month", enc) + "=" + HttpUtility.UrlDecode("3", enc) + "&" +
HttpUtility.UrlEncode("province", enc) + "=" + HttpUtility.UrlDecode("北京", enc) + "&" +
HttpUtility.UrlEncode("PwdConfirm", enc) + "=" + HttpUtility.UrlDecode("12346a", enc) + "&" +
HttpUtility.UrlEncode("Submit2", enc) + "=" + HttpUtility.UrlDecode(" 注册 ", enc) + "&" +
HttpUtility.UrlEncode("UserEmail", enc) + "=" + HttpUtility.UrlDecode("45678974@qq.com", enc) + "&" +
HttpUtility.UrlEncode("UserName", enc) + "=" + HttpUtility.UrlDecode("test200812sdf", enc) + "&" +
HttpUtility.UrlEncode("UserPassword", enc) + "=" + HttpUtility.UrlDecode("12346a", enc) + "&" +
HttpUtility.UrlEncode("UserSex", enc) + "=" + HttpUtility.UrlDecode("1", enc) + "&" +
HttpUtility.UrlEncode("W-437", enc) + "=" + HttpUtility.UrlDecode("-437", enc) + "&" +
HttpUtility.UrlEncode("year", enc) + "=" + HttpUtility.UrlDecode("1987", enc);
byte[] postBytes = Encoding.ASCII.GetBytes(param);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "POST";
req.Accept = "text/html, application/xhtml+xml, */*";
req.Headers.Add("Accept-Language", "zh-CN");
req.KeepAlive = true;
req.Referer = "http://www.360xian.cn/User/userreg.asp";
req.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
req.ContentType = "application/x-www-form-urlencoded";
req.CookieContainer = cc;
req.ContentLength = postBytes.Length;
Stream reqStream = req.GetRequestStream();
reqStream.Write(postBytes, 0, postBytes.Length);
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(), enc);
手动写的,没用到helper,其中 W-437 查看源码是由[url=view-source:http://www.360xian.cn/inc/ValidateClass.asp?act=showvalidatelaoy]/inc/ValidateClass.asp?act=showvalidatelaoy[/url]动态生成的的,无法抓取,这个应该怎么搞,暂时想到的是先请求一次获取这个值,然后再次post。
|
|