110,538
社区成员
发帖
与我相关
我的任务
分享
private void CommentTopic(object obj)
{
var source = XElement.Load("Comment.xml");
var delay = (int)obj;
var count = 0;
var index = 0;
while (_flag)
{
dgvTopics.ClearSelection();
var id = Convert.ToInt32(dgvTopics.Rows[index].Cells["Checkbox"].Value);
var title = dgvTopics.Rows[index].Cells["Title"].Value.ToString();
dgvTopics.Rows[index].Selected = true;
index++;
var t = source.Elements("topic").FirstOrDefault(z =>
{
var idAttr = z.Attribute("id");
return idAttr != null && idAttr.Value == id.ToString();
});
_mSyncContext.Post(CommentAction, new object[] { title, index - 1 });
if (index == dgvTopics.Rows.Count - 1)
{
_mSyncContext.Post(CommentOver, "");
break;
}
if (t != null)
{
_mSyncContext.Post(state =>
{
Text = title + Resources.Commented;
}, title);
Thread.Sleep(300);
continue;
}
//这个和谐一下,源码内有
var request =
(HttpWebRequest)WebRequest.Create("****=" + id);
var post = "post[body]=" + (cbkFace.Checked ? GetRandomFace() : txtDefault.Text);
var postData = Encoding.GetEncoding("UTF-8").GetBytes(post);
request.Method = "POST";
Tools.SetHeader(ref request);
request.Host = "bbs.csdn.net";
request.ContentType = "application/x-www-form-urlencoded";
//request.ContentLength = postData.Length;
var ck = new CookieContainer();
foreach (Cookie cookie in Program.Cookies)
{
ck.Add(cookie);
}
request.CookieContainer = ck;
request.GetRequestStream().Write(postData, 0, postData.Length);
try
{
using (var response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode != HttpStatusCode.InternalServerError && response.StatusCode != HttpStatusCode.Forbidden)
{
source.Add(new XElement("topic", new XAttribute("id", id), new XAttribute("title", title)));
source.Save("Comment.xml");
}
}
}
catch (WebException)
{
if (count >= 3)
{
MessageBox.Show(Resources.Failure, Resources.Tpis);
return;
}
count++;
}
Thread.Sleep(delay);
}
}