|
本帖最后由 Monn 于 2013-6-13 04:14 编辑
button1=登陆
button2=开始回复
点击buttom1取得了登陆的cookie信息,也显示登陆成功了,我把button2的post请求写到button1下执行的话是可以回帖的,但是写在button2下的时候是错误的,获取不到登陆的cookie信息
我的做法是:button2下没有重新写登陆的代码,只是调用button1的cookie。。
不知道是我调用错了呢,还是如果有两个button事件,要登陆两次每个botton事件下都要写登陆代码呢?
点击button2的时候怎么获得button1的登陆cookie呢?我是C#新手,这个可能是基本的问题,但是我确实不知道。。请高手帮忙。。
因为这个是写的dz最新版3.0 模拟自动登陆和回帖,代码不便贴上来。。
我看过@猫星人 求助!登陆成功AJAX操作添加好友问题 http://www.sufeinet.com/thread-3488-1-1.html 的案例,猫星人这个就是两个button,他这个测试不成功,应该也是button2没有登陆的cookie。。 @站长苏飞 给猫星人解决过,但是我看登陆代码跟加好友的代码是写在一起的,我的写在一起也可以,发这个贴就是问问两个button事件下,button2如何获取button1的登陆cookie信息。。。
我贴上来他的代码吧。。
猫星人的窗体布局
全部代码:
[code=csharp]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace LOVEQ
{
public partial class mainfrm : Form
{
public mainfrm()
{
InitializeComponent();
}
HttpHelper http = new HttpHelper();
string cookie = "";
HttpItem item = null;//创建HTTP访问类对象
private void button1_Click(object sender, EventArgs e)
{
item = new HttpItem()
{
URL = "http://www.loveq.cn/user.php",//URL 必需项
Method = "POST",//URL 可选项 默认为Get
Timeout = 100000,//连接超时时间 可选项默认为100000
ReadWriteTimeout = 30000,//写入Post数据超时时间 可选项默认为30000
IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写
Referer = "http://www.loveq.cn/user-default.html",
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值
Postdata = "username=test00001&password=test00001&act=act_login",//Post数据 可选项GET时不需要写
//Allowautoredirect = false
};
HttpResult result = http.GetHtml(item);
//登录成功后进行测试
item = new HttpItem()
{
URL = "http://www.loveq.cn/friend-test0001.html",//URL 必需项
Method = "get",//URL 可选项 默认为Get
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
ContentType = "text/html",//返回类型 可选项有默认值
//Postdata = "act=add&uid=357458&is_ajax=1",
//Referer = "http://www.loveq.cn/profile-a1122333.html",
Cookie = result.Cookie//当前登录Cookie
};
//得到HTML代码
result = http.GetHtml(item);
string html = result.Html;
cookie = result.Cookie;
textBox1.AppendText("cookies:" + cookie + "\r\n\r\n");
textBox1.AppendText(html);
}
private void btn_add_Click(object sender, EventArgs e)
{
HttpResult result = http.GetHtml(item);
//登录成功后进行测试
item = new HttpItem()
{
URL = "http://www.loveq.cn/friend.php",//URL 必需项
Method = "post",//URL 可选项 默认为Get
Accept = "text/html, application/xhtml+xml, */*",// 可选项有默认值
ContentType = "text/html",//返回类型 可选项有默认值
Postdata = "act=add&uid=357458&is_ajax=1",
//Referer = "http://www.loveq.cn/profile-a1122333.html",
Cookie = cookie//当前登录Cookie
};
//得到HTML代码
// HttpResult result = http.GetHtml(item);
string html = result.Html;
cookie = result.Cookie;
textBox2.AppendText("cookies:" + cookie + "\r\n\r\n");
textBox2.AppendText(html);
}
}
}
[/code]
|
|