架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 174|回复: 0

[交流] post登陆discuz所需cookie和formhash

[复制链接]
跳转到指定楼层
楼主
发表于 2019-6-5 08:58:29
zu
之前利用HttpItem post登陆discuz其实已经成功登陆,代码如下
  1. string url = string.Format("{0}/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1", domain);
  2.             string postData = string.Format("fastloginfield=username&username={0}&cookietime=2592000&password={1}&quickforward=yes&handlekey=ls", tb2.Text.Trim(), tb3.Text.Trim());
  3.             HttpHelper http = new HttpHelper();
  4.             HttpItem item = new HttpItem()
  5.             {
  6.                 URL = url,
  7.                 Method = "post",
  8.                 ContentType = "application/x-www-form-urlencoded",
  9.                 Referer = string.Format("{0}/forum.php", domain),
  10.                 Postdata = postData,

  11.             };
  12.             HttpResult result = http.GetHtml(item);
复制代码
然后直接利用 result.Cookie 获取cookie 然后对cookie进行处理,代码如下:
  1. string[] coo = result.Cookie.Split(';');
  2.             foreach (string s in coo)
  3.             {

  4.                 if (s.Contains("_saltkey") || s.Contains("_auth"))
  5.                 {
  6.                     cookie += s;
  7.                     cookie += ";";
  8.                 }
  9.             }
  10.             if (cookie.Contains("path"))
  11.                 cookie.Replace("path=/,", "");
  12.             tb7.Text = cookie;
复制代码
处理后的cookie只用到"_saltkey"和"_auth"这两个值
然后利用一个函数获取formhash值函数代码如下
  1. public static string GetValue(string str, string s, string e)
  2.         {
  3.             Regex rg = new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);
  4.             return rg.Match(str).Value;
  5.         }
复制代码
获取过程
  1. formhash = GetValue(result.Html, "formhash" value="", "" />").Trim();
复制代码
然后就可以用获取到的cookie和formhash进行发帖操作了





上一篇:使用fetch代替ajax请求 post传递方式
下一篇:jexus部署.net core出错&quot;System.Net.ServicePointManager”
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-9-19 01:54

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表