C#开发求助帖
直接说正题吧:正在用C#开发一个自动发帖机,但是卡在网络操作这块,目标论坛为天涯论坛灌水专区。登录与发帖都需要post信息,于是使用一个高人的“HttpWebRequest中发送GET/HTTP/HTTPS请求”类,但一直不成功,请教各位朋友,下面贴出登录及发帖部分代码并注释
所使用的httpwebrequest这里就不贴了,麻烦各位移步http://blog.csdn.net/zhoufoxcn/article/details/6404236
可以简单的解释我所使用的post函数如下,分为五个参数:操作目的url、发送字段、超时时间、发送所用编码类型、cookie
//登录
string loginURL = "http://passport.tianya.cn/login";
string fowardURL = "http://my.tianya.cn";
string Submit="登录";
string vapassword = "10125178";
string vwriter = "50573750";
Encoding encoding = Encoding.GetEncoding("gb2312");
IDictionary<string, string> parameters1 = new Dictionary<string, string>();
parameters1.Add("fowardURL", fowardURL);
parameters1.Add("from", null);
parameters1.Add("returnURL",null);
parameters1.Add("rmflag", "1");
parameters1.Add("Submit", Submit);
parameters1.Add("vapassword", vapassword);
parameters1.Add("vwriter", vwriter);
HttpWebResponse response = HttpWebResponseUtility.CreatePostHttpResponse(loginURL, parameters1, null, null, encoding, null);
foreach (Cookie cook in response.Cookies)
mycookiecollection.Add(cook);
//if (response.IsMutuallyAuthenticated)
textBox6.Text = response.Headers["Set-Cookie"];
//发帖
string posturl = "http://www.tianya.cn/post/compose.jsp";
string content = "最近在看火影忍者,感觉剧情和全职猎人有点像唉!大家来讨论下";
string item = "water";
string title = "火影忍者";
string userId = "24377431";
string userLogin = "user=w=50573750&id=24377431;temp=k=832453884&t=1337146452;sso=r=948345761&sid=&wsid=5CE81BDA6E0441CA343E0D6083D5D0B4";
string userName = "50573750";
IDictionary<string, string> parameters2 = new Dictionary<string, string>();
parameters2.Add("bCompose", "1");
parameters2.Add("bFilterHtml", "1");
parameters2.Add("bOriginal", "1");
parameters2.Add("content",content);
parameters2.Add("flashUrl", null);
parameters2.Add("item", item);
parameters2.Add("musicUrl", null);
parameters2.Add("rowsetType", "1");
parameters2.Add("subItem", null);
parameters2.Add("title", title);
parameters2.Add("topicsIds", null);
parameters2.Add("userId", userId);
parameters2.Add("userLogin", userLogin);
parameters2.Add("userName", userName);
response = HttpWebResponseUtility.CreatePostHttpResponse(posturl, parameters2, null, null, Encoding.UTF8, mycookiecollection);
所需post字段信息内容是用ie浏览器的一个插件httpwatch查看获得的,下载地址http://www.99d.com/down/32/490672.html
现在实在是找不出错误了,麻烦大家帮忙看看