[问题点数:0分]
本版专家分:57998
结帖率 100%
红花2007年3月 扩充话题大版内专家分月排行榜第一
2007年4月 挨踢职涯大版内专家分月排行榜第一
2007年3月 挨踢职涯大版内专家分月排行榜第一
2006年11月 扩充话题大版内专家分月排行榜第一
2006年10月 扩充话题大版内专家分月排行榜第一
给你一段C#的程序
取得登录用户Cookie的函数:
public string Logon(string Url,string Name,string Password)
{
//新建一个WebClient对象
UTF8Encoding encoding = new UTF8Encoding();
WebClient myWebClient = new WebClient();
NameValueCollection myNameValueCollection = new NameValueCollection();
//name,pass,type:用户提交页面的参数,用户名,口令,登录方式,由于CSDN改版,具体参数可能有所不同,可分析捕获后的数据包
myNameValueCollection.Add("name", Encoding.Default.GetString(encoding.GetBytes(Name)));
myNameValueCollection.Add("pass",Password);
myNameValueCollection.Add("type","0");
string header = "";
//返回登录后返回的数据包
byte[] responseArray = myWebClient.UploadValues(Url,"POST",myNameValueCollection);
//分解数据包,Cookie信息有可能记录在第四个参数里
header = myWebClient.ResponseHeaders[4].ToString() + "\n";
string content = Encoding.Default.GetString(responseArray);
if(content.Length > 0)
return null;
else
return header;
}
//返回用户登录的Cookie:
public bool Login(string Name,string Password)
{
string header = rda.Logon("http://www.csdn.net/member/logon.asp",Name,Password);
if(header != null)
{
aspsessionid = header;
hasLogin = true;
return true;
}
else
{
hasLogin = false;
return false;
}
}
//发贴
public void Post(string typestate, string Point, string TopicName, string Room, string Content)
{
string postdata = "";
postdata += "typestate=" + typestate;
postdata += "&Point=" + Point;
postdata += "&TopicName=" + TopicName;
postdata += "&Room=" + Room;
postdata += "&Content=" + Content;
rda.PostData("http://www.csdn.net/Expert/PostNew_SQL.asp", postdata, aspsessionid);
}
//回复
public void Reply(string Topicid, string xmlReply, string csdnname, string csdnpassword, string ReplyContent)
{
string postdata = "";
postdata += "Topicid=" + Topicid;
postdata += "&xmlReply=" + xmlReply;
postdata += "&csdnname=" + csdnname;
postdata += "&csdnpassword=" + csdnpassword;
postdata += "&ReplyContent=" + ReplyContent;
rda.PostData("http://www.csdn.net/Expert/reply.asp", postdata, aspsessionid);
}
上面提交的数据参数都比较老,你可能重新分析这些数据包
不过CSDN改版后我用这种方法一直没搞定,你搞定后告诉我一声阿