(1)使用httpRequest方式,执行结束也提示日志写成功,但是实际并没有写日志;(2)WebBrose方式,能写日志,但是总是提示脚本错误是否调试,选择"否",
是可以成功写日志,但是那个脚本错误一直无法去掉
//httpRequest方式登陆,写日志using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;namespace xiaoneiwangblog{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//校内网用户名和密码username.Text = "[email protected]";password.Text = "rfv123";}//在校内网写日志private void button1_Click(object sender, EventArgs e){string user = username.Text;   //校内网用户名string pwd = password.Text;    //校内网密码 string blogtitle = title.Text; //日志标题string blogbody = body.Text;   //日志正文//登陆校内网CookieContainer cookies = login(user, pwd);HttpWebRequest sendreq = (HttpWebRequest)WebRequest.Create("http://blog.xiaonei.com/NewEntry.do");byte[] message = Encoding.UTF8.GetBytes("title=" + blogtitle + "&body=" + blogbody + "&categoryid=0&blogControl=99&passwordProtedted=0");sendreq.ContentType = "application/x-www-form-urlencoded";sendreq.Method = "POST";sendreq.ContentLength = message.Length;sendreq.CookieContainer = cookies;sendreq.GetRequestStream().Write(message, 0, message.Length);sendreq.GetRequestStream().Close();sendreq.GetResponse();MessageBox.Show("恭喜您,您的日志已经发表成功,请查看!~");}//登陆校内网public CookieContainer login(string username, string password){CookieContainer cookies = new CookieContainer();HttpWebRequest logreq = (HttpWebRequest)WebRequest.Create("http://login.xiaonei.com/Login.do");logreq.CookieContainer = cookies;byte[] postdata = Encoding.UTF8.GetBytes("email=" + username + "&password=" + password);logreq.Method = "POST";logreq.ContentLength = postdata.Length;logreq.ContentType = "application/x-www-form-urlencoded";logreq.GetRequestStream().Write(postdata, 0, postdata.Length);logreq.GetRequestStream().Close();logreq.GetResponse();return cookies;}//清空已填写的用户名、密码以、日志标题和正文private void button2_Click(object sender, EventArgs e){username.Text = null;password.Text = null;title.Text = null;body.Text = null;} }}

解决方案 »

  1.   

    WebBrowse方式登陆,写日志using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading; //Threadnamespace webRefresh{public partial class Form1 : Form{bool isLogin = false;bool isPostData = false;public Form1(){InitializeComponent();}//根据用户名和密码,登陆校内网private void btnBrowser_Click(object sender, EventArgs e){}//刷新页面private void btnRefresh_Click(object sender, EventArgs e){webBrowser1.Refresh();}private void Form1_Load(object sender, EventArgs e){txtURL.Text = "http://www.xici.net/b134462/d111482628.htm";//登陆校内网的网址txtURL.Text = "http://login.xiaonei.com/Login.do";string tmpURL = txtURL.Text.Trim();webBrowser1.Navigate(tmpURL);}//bool isLogin = false;//自动登陆并发帖private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ if (isLogin == false) //登陆模块{//自动登陆校内网isLogin = true;//跳转到登陆页面webBrowser1.Navigate("http://login.xiaonei.com/Login.do"); HtmlElement tbUserid = webBrowser1.Document.All["email"];HtmlElement tbPasswd = webBrowser1.Document.All["password"];//HtmlElement btnSubmit = webBrowser1.Document.All["submit"];HtmlElement btnSubmit = webBrowser1.Document.GetElementById("login");tbUserid.SetAttribute("value", "[email protected]"); //登陆用户名tbPasswd.SetAttribute("value", "rfv123");               //登陆密码btnSubmit.InvokeMember("click");} 
    try //发帖模块{//跳转到发帖页面Thread.Sleep(3000); //等待3秒 webBrowser1.Navigate("http://blog.xiaonei.com/NewEntry.do");Thread.Sleep(3000); //等待3秒 HtmlElement tbTitile = webBrowser1.Document.All["title"];HtmlElement tbBody = webBrowser1.Document.All["body"];//HtmlElement btnSubmit2 = webBrowser1.Document.All["editorFormBtn"]; //返回nullHtmlElement btnSubmit2 = webBrowser1.Document.GetElementById("editorFormBtn");tbTitile.SetAttribute("value", "testTitle123"); //返回nulltbBody.SetAttribute("value", "testBody456"); //返回nullbtnSubmit2.InvokeMember("click");Thread.Sleep(2000); //等待2秒 webBrowser1.Navigate("http://blog.xiaonei.com/NewEntry.do");}catch (Exception ex){//MessageBox.Show(ex.ToString());}} 
    }}
      

  2.   

    使用WebBrowser时提示的脚本错误
    字符:1
    代码:0
    错误:'window.tinyMCE.activeEditor'为空或不是对象RUL: http://blog.renren.com.blog/0/addBlog
      

  3.   

    username.Text = "***@***";password.Text = "****"lz把这段编辑下。用户名密码都公布了