[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求助,批处理无法自动登录Discuz论坛。

本帖最后由 pcl_test 于 2017-5-27 07:08 编辑

问题应该出在这一段,貌似无法获取formhash,求大侠相助。
  1. :getformhash
  2. for /f tokens^=8^ delims^=^;^" %%i in ('curl -c reply.txt -d "loginfield=username&username=%use%&password=%pwd%&questionid=0&answer=&cookietime=315360000&loginmode=&styleid=&loginsubmit=提  交" "http://www.zxxy8.com/member.php?mod=logging&action=login&"^|findstr "logout"') do set formhash=%%i
  3. cls
  4. echo 登陆完成(%formhash%),按任意键开始发帖 ...
复制代码

Discuz! X2.5 使用随机表单id,前两天刚好也碰到这个问题

TOP

没有通用的DZ登录,很多论坛有可能自己修改了部分验证,有些甚至加上密码登录前的md5

VBS脚本之Discuz X2 论坛登录脚本 任何论坛通用
http://qqcik.5d6d.net/thread-217-1-2.html

VBS脚本之论坛刷帖
http://qqcik.5d6d.net/thread-146-1-2.html

希望这两篇文章对你有帮助、、
第一篇 任何论坛通用 是不可能的,只是为了吸引眼球罢了、
第二篇 针对 Discuz 7.0 的
求老大赐我《精通正则表达式》

TOP

回复 3# 乱码


    话说我是用遍历的笨办法登陆的...
  1. username = "test"   '用户名
  2. password = "pass123"  '密码
  3. loginquestionid = "2" '安全提问编号
  4. loginanswer = "123456" '答案
  5. coockietime = False    '是否自动登录
  6. Set ie = CreateObject("InternetExplorer.Application")
  7. ie.Navigate "http://www.zxxy8.com/member.php?mod=logging&action=login"
  8. ie.Visible = True
  9. Do Until ie.ReadyState=4
  10. Loop
  11. With ie.Document
  12. For Each i In .all
  13. Select Case 1
  14. Case InStr(LCase(i.id),"username_")
  15. .all(i.id).value = username
  16. Case InStr(LCase(i.id),"password3_")
  17. .all(i.id).value = password
  18. Case InStr(LCase(i.id),"loginquestionid_")
  19. .all(i.id).value = loginquestionid
  20. Case InStr(LCase(i.id),"loginanswer_")
  21. If InStr(LCase(i.id),"_row_") Then
  22. .all(i.id).style.display = ""
  23. Else
  24. .all(i.id).value = loginanswer
  25. End If
  26. Case InStr(LCase(i.id),"cookietime_")
  27. If cookietime Then .all(i.id).click
  28. End Select
  29. Next
  30. .all.loginsubmit.click
  31. End With
复制代码

TOP

本帖最后由 拿铁不加糖 于 2012-7-31 18:58 编辑

回复 2# CrLf

谢谢了,我试一试。

TOP

是这样的吧,
  1. :login
  2. set /p use=用户名:
  3. if "%use%"=="" goto login
  4. set /p pwd=密码:
  5. if "%pwd%"=="" goto login
  6. curl -c cookie.txt -d "loginfield=username&username=%use%&password=%pwd%&questionid=0&answer=&cookietime=2592000&loginsubmit=true" "http://www.zxxy8.com/member.php?mod=logging&action=login&loginsubmit=yes&inajax=1">nul
  7. for /f tokens^=6^ delims^=^;^" %%i in ('curl -b cookie.txt "http://www.zxxy8.com/home.php?mod=space&do=pm"^|findstr "logout"') do set formhash=%%i
  8. cls
  9. echo 登陆完成(%formhash%),按任意键开始发帖 ...
  10. @pause >nul
复制代码

TOP

返回列表