模拟登录cnblogs发布文章

  以前在做中国知网的模拟登录检索的小系统,但是由于本人的技术不过关,中途夭折了。不过在这个过程中还是有很多的收获,这个cnblogs文章发布就是在那个基础上做起来的。

  我把这里的主要代码贴出来大家看看:

  这是登录窗口中的代码部分:

ContractedBlock.gif ExpandedBlockStart.gif View Code
 1                 string postData =string.Format( "__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=/wEPDwULLTE1MzYzODg2NzZkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQtjaGtSZW1lbWJlcm1QYDyKKI9af4b67Mzq2xFaL9Bt&__EVENTVALIDATION=/wEWBQLWwpqPDQLyj/OQAgK3jsrkBALR55GJDgKC3IeGDE1m7t2mGlasoP1Hd9hLaFoI2G05&tbUserName={0}&tbPassword={1}&btnLogin=登  录&txtReturnUrl=http://home.cnblogs.com/",txtName.Text.Trim(),txtPwd.Text.Trim());
2 //这是cnblogs提交时的一些参数
3 ASCIIEncoding encoding = new ASCIIEncoding();
4 byte[] data = encoding.GetBytes(postData);
5 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://passport.cnblogs.com/login.aspx");
6 request.Method = "Post";
7 request.ContentType = "application/x-www-form-urlencoded";
8 request.ContentLength = data.Length;
9 request.KeepAlive = true;
10 request.CookieContainer = container; //返回的cookie会附加在这个容器里面
11 //发送数据
12
13 Stream newStream = request.GetRequestStream();
14 newStream.Write(data, 0, data.Length);
15
16
17 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
18 newStream = response.GetResponseStream();
19 StreamReader reader = new StreamReader(newStream, Encoding.UTF8);
20 string text = reader.ReadToEnd();
21 reader.Close();
22 newStream.Close();

  窗体效果:  

  

  这是主窗体代码部分:

  

ContractedBlock.gif ExpandedBlockStart.gif View Code
 1 string postData = string.Format("__EVENTTARGET=Editor$Edit$lkbPost&__EVENTARGUMENT=&__VIEWSTATE=&Editor$Edit$txbTitle={0}&Editor$Edit$EditorBody={1}&Editor$Edit$APOptions$APSiteHome$chkDisplayHomePage=on&Editor$Edit$Advanced$ckbPublished=on&Editor$Edit$Advanced$chkComments=on&Editor$Edit$Advanced$chkMainSyndication=on&Editor$Edit$Advanced$txbEntryName=&Editor$Edit$Advanced$txbExcerpt=&Editor$Edit$Advanced$txbTag=&Editor$Edit$Advanced$tbEnryPassword=",txtTitle.Text,rtxtContent.Text);//提交数据的一些参数
2 string Url = @"http://www.cnblogs.com/envenler/admin/EditPosts.aspx?opt=1";//要提交到的网址
3 ASCIIEncoding encoding=new ASCIIEncoding ();
4 byte[] byt = encoding.GetBytes(postData);
5 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
6 request.Method = "Post";
7 request.ContentType = "application/x-www-form-urlencoded";
8 request.ContentLength = byt.Length;
9 request.KeepAlive = true;
10 request.CookieContainer = Ccontainter; //返回的cookie会附加在这个容器里面
11 //发送数据
12
13 Stream newStream = request.GetRequestStream();
14 newStream.Write(byt, 0, byt.Length);
15 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
16 newStream = response.GetResponseStream();
17 StreamReader reader = new StreamReader(newStream, Encoding.UTF8);
18 string text = reader.ReadToEnd();
19 reader.Close();
20 newStream.Close();

 

  窗体效果: 

  

 最后附上这个全部源码:http://files.cnblogs.com/envenler/cnblogsLogin.rar  (这个好像有点问题,如需下载请复制链接到浏览器打开。)

posted on 2011-09-09 09:47  yinwenle 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/envenler/archive/2011/09/09/2171845.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值