您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程

C#模拟登录Discuz论坛Discuz X1.5代码实例

友巧2025-06-28Discuz教程已有人查阅

导读本方法通过将账号和密码提交到登录页面,返回一个CookieContainer类型的COOKIE容器,需要模拟登录访问的时候带着这个CookieContainer访问指定地址便可。

本方法通过将账号和密码提交到登录页面,返回一个CookieContainer类型的COOKIE容器,需要模拟登录访问的时候带着这个CookieContainer访问指定地址便可。
1 #region Discuz论坛登录
2
3 /// <summary>
4
5 /// Discuz论坛登录
6
7 /// </summary>
8
9 /// <param name="UserName">账号</param>
10
11 /// <param name="PassWord">密码</param>
12
13 /// <param name="domain">论坛地址(末尾加斜线),如 http:// .ebingou.cn/</param>
14
15 /// <returns></returns>
16
17 protected CookieContainer DiscuzLogin(string UserName, string PassWord, string domain)
18
19 { #region 取得登录表单页源代码
20
21 string loginPageUrl = domain + "member.php?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login";
22
23 string loginPageHtml = ForSunSoft.Net.Url.Post(new NameValueCollection(),
24
25 loginPageUrl,
26
27 System.Text.Encoding.GetEncoding("GBK"),
28
29 new CookieContainer(),
30
31 "*/*",
32
33 domain + "forum.php",
34
35 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)");
36
37 #endregion #region 获取验证页面地址
38
39 Match match_UserValidateUrl = new Regex(";\" action=\"(?<key>.*?)\">", RegexOptions.None).Match(loginPageHtml);
40
41 string UserValidateUrl = match_UserValidateUrl.Groups["key"].Value.ToS();
42
43 #endregion #region 获取表单哈希码
44
45 Match match_FormHash = new Regex("<input type=\"hidden\" name=\"formhash\" value=\"(?<key>.*?)\" />", RegexOptions.None).Match(loginPageHtml);
46
47 string FormHash = match_FormHash.Groups["key"].Value.ToS();
48
49 #endregion #region 创建登录表单
50
51 NameValueCollection loginForm = new NameValueCollection();
52
53 loginForm.Add("formhash", FormHash);
54
55 loginForm.Add("referer", domain + "forum.php");
56
57 loginForm.Add("loginfield", "username");
58
59 loginForm.Add("username", UserName);
60
61 loginForm.Add("password", PassWord);
62
63 loginForm.Add("questionid", "0");
64
65 loginForm.Add("answer", "");
66
67 loginForm.Add("cookietime", "2592000");
68
69 #endregion #region 获得Auth和Sid
70
71 CookieCollection userCookie = new CookieCollection(); CookieCollection ResCookie = ForSunSoft.Net.Url.PostAndGetCookie(loginForm, domain + UserValidateUrl.Replace("&", "&"), System.Text.Encoding.GetEncoding("GBK"));
72
73 foreach (Cookie c in ResCookie)
74
75 {
76
77 if (c.Name == "8TcA_2132_auth" || c.Name == "8TcA_2132_sid")
78
79 {
80
81 userCookie.Add(c);
82
83 }
84
85 }
86
87 #endregion
88
89 CookieCollection cookieResult = ForSunSoft.Net.Url.PostAndGetCookie(new NameValueCollection(), domain + "forum.php", System.Text.Encoding.GetEncoding("GBK"), userCookie.ToCookieContainer());
90
91 foreach (Cookie c in userCookie)
92
93 {
94
95 cookieResult.Add(c);
96
97 } return cookieResult.ToCookieContainer(); }
98
99 #endregion
100
代码中有部分自定义方法,需要的留下邮箱。

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)html5高档服装定制西服pbootcms模板下载本模板基于PbootCMS内核开发,为服装定制企业和服装品牌量身打造。设计风格时尚现代,充分展现服装行业的审美特质与品牌魅力。采用HTML5响应式技术,确保在各种设备上呈现视觉效果。整站布局注重产品展示与品牌叙事,帮助企业有效展示服装系列与定制服务,提升客户体验。查看源码
  • (自适应)重工工业机械挖掘机机推土机网站源码下载基于PbootCMS内核开发的专业级重工机械企业网站模板,适用于挖掘机、推土机等重型工业设备展示。采用响应式设计技术,确保在各类设备上均能呈现专业视觉效果,帮助企业建立数字化展示窗口。查看源码
  • (自适应)HTML5响应式双语绿色物流运输快递货运pbootcms源码本款基于PbootCMS开发的网站模板为物流运输、快递货运行业设计,采用HTML5技术构建,支持简繁字体切换。模板设计充分考虑了货运物流行业的特点,可专业展示运输服务、物流网络和业务优势等内容。查看源码
  • (自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码
  • 响应式粉色美容整形化妆品pbootcms网站模板开源源码该网站模板为美容整形、化妆品企业设计,采用响应式布局确保在手机、平板及PC端自动适配显示效果。基于PbootCMS内核开发,支持一键替换图文内容快速转换至其他行业应用。查看源码
  • (自适应)绿色农业大型机械设备展示网站模板下载基于PbootCMS内核深度定制开发的农业机械行业专用模板。针对农机设备展示、产品参数说明等需求优化设计,突出农业机械行业特性查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐