|
楼主 |
发表于 2013-7-30 23:52:55
|
显示全部楼层
[code=csharp]//txtCookie.Text = "uXn_2132_saltkey=ZM5995tr; expires=Thu, 29-Aug-2013 02:01:25 GMT; path=/; httponly,WuXn_2132_lastvisit=1375146085; expires=Thu, 29-Aug-2013 02:01:25 GMT; path=/,WuXn_2132_sid=bqo222; expires=Wed, 31-Jul-2013 02:01:25 GMT; path=/,WuXn_2132_lastact=1375149685%09forum.php%09; expires=Wed, 31-Jul-2013 02:01:25 GMT; path=/,WuXn_2132_onlineusernum=6; expires=Tue, 30-Jul-2013 02:06:25 GMT; path=/,WuXn_2132_sid=bqo222; expires=Wed, 31-Jul-2013 02:01:25 GMT; path=/";
}
private void button3_Click(object sender, EventArgs e) //按钮 Get测试 2
{
//生成cookie
string strcookie = "WuXn_2132_saltkey=" + HttpCookieHelper.GetCookieValue("WuXn_2132_saltkey", strCookie) +
"; WuXn_2132_auth=" + HttpCookieHelper.GetCookieValue("WuXn_2132_auth", strCookie);
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = "http://127.0.0.1/forum.php?mod=viewthread&tid=108&extra=page%3D1",//URL 必需项
Encoding = System.Text.Encoding.GetEncoding("gbk"),//URL 可选项 默认为Get
Method = "get",//URL 可选项 默认为Get
IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写
Cookie = strcookie,//字符串Cookie 可选项
Referer = "",//来源URL 可选项
Postdata = "",//Post数据 可选项GET时不需要写
Timeout = 100000,//连接超时时间 可选项默认为100000
ReadWriteTimeout = 30000,//写入Post数据超时时间 可选项默认为30000
UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统 可选项有默认值
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
Allowautoredirect = false,//是否根据301跳转 可选项
//CerPath = "d:\123.cer",//证书绝对路径 可选项不需要证书时可以不写这个参数
//Connectionlimit = 1024,//最大连接数 可选项 默认为1024
ProxyIp = "",//代理服务器ID 可选项 不需要代理 时可以不设置这三个参数
//ProxyPwd = "123456",//代理服务器密码 可选项
//ProxyUserName = "administrator",//代理服务器账户名 可选项
};
HttpResult result = http.GetHtml(item);
string html = result.Html;
richBox.Text = html;
strhtml=html;
//赋值给全局变量
string cookie = result.Cookie;
//判断cookie是否得到,如果得到继续判断是否登陆成功
if (strcookie == "WuXn_2132_saltkey=; WuXn_2132_auth=")
{
lbHtml.Text = lbHtml.Text + "Get登陆失败";
richBox.Text = "Get登陆失败请先Post登录之后再get登录" ;
return;
}
else if (Regex.IsMatch(html, @"勋章")) //读取html查找字符,登陆后特有字符,找到登陆成功否则失败
{
lbHtml.Text = lbHtml.Text + "Get登陆成功";
richBox.Text = "Get登陆成功" + "__________" + html;
}
else
{
lbHtml.Text = lbHtml.Text + "Get登陆失败";
richBox.Text = "Get登陆失败" + "__________" + html;
}
////登录成功后访问一下任意网址测试
//item = new HttpItem()
//{
// URL = "http://127.0.0.1/home.php?mod=space&do=notice",//URL 必需项
// Encoding = System.Text.Encoding.GetEncoding( "gbk"),//URL 可选项 默认为Get
// Method = "get",//URL 可选项 默认为Get
// IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写
// Cookie = strCookie,//字符串Cookie 可选项
// Referer ="",//来源URL 可选项
// Postdata = "",//Post数据 可选项GET时不需要写
// Timeout = 100000,//连接超时时间 可选项默认为100000
// ReadWriteTimeout = 30000,//写入Post数据超时时间 可选项默认为30000
// UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统 可选项有默认值
// ContentType = "text/html",//返回类型 可选项有默认值
// Allowautoredirect = false,//是否根据301跳转 可选项
// //CerPath = "d:\123.cer",//证书绝对路径 可选项不需要证书时可以不写这个参数
// //Connectionlimit = 1024,//最大连接数 可选项 默认为1024
// ProxyIp = "",//代理服务器ID 可选项 不需要代理 时可以不设置这三个参数
// //ProxyPwd = "123456",//代理服务器密码 可选项
// //ProxyUserName = "administrator",//代理服务器账户名 可选项
//};
//得到HTML代码
//http.GetHtml(item);
//HttpHelper http = new HttpHelper();
//HttpItem item = new HttpItem()
//{
// URL = "http://127.0.0.1/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1",//URL 必需项
// Encoding = System.Text.Encoding.GetEncoding("gbk"),//URL 可选项 默认为Get
// Method = "post",//URL 可选项 默认为Get
// IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写
// Cookie = "",//字符串Cookie 可选项
// Referer = "",//来源URL 可选项
// Postdata = "fastloginfield=username&username=123456&password=123456&quickforward=yes&handlekey=ls",//Post数据 可选项GET时不需要写
// Timeout = 100000,//连接超时时间 可选项默认为100000
// ReadWriteTimeout = 30000,//写入Post数据超时时间 可选项默认为30000
// UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统 可选项有默认值
// ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
// Allowautoredirect = false,//是否根据301跳转 可选项
// //CerPath = "d:\123.cer",//证书绝对路径 可选项不需要证书时可以不写这个参数
// //Connectionlimit = 1024,//最大连接数 可选项 默认为1024
// ProxyIp = "",//代理服务器ID 可选项 不需要代理 时可以不设置这三个参数
// //ProxyPwd = "123456",//代理服务器密码 可选项
// //ProxyUserName = "administrator",//代理服务器账户名 可选项
//};
//HttpResult result = http.GetHtml(item);
//string html = result.Html;
//strCookie = result.Cookie;
//txtCookie.Text = strCookie;
}
private void button4_Click(object sender, EventArgs e) // 按钮 发帖 4
{
// 发帖板块ID拼接需要拼接 -拼接不能发帖
string strUrl = @"http://127.0.0.1/forum.php?mod=post&action=newthread&fid=" + txtID2.Text.Trim() + "&extra=&topicsubmit=yes";
|
|