开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1635|回复: 6
收起左侧

[已解决] 劳烦指点下易语言POST操作问题

 关闭 [复制链接]
结帖率:57% (4/7)
发表于 2019-9-21 02:00:06 | 显示全部楼层 |阅读模式   广东省惠州市
20精币
感谢大牛在百忙之中查阅到这份帖子 我尝试易语言post数据到网站的过程中遇到一些问题 劳烦大牛帮忙下 万分感谢
post网址:https://cas.hzc.edu.cn/lyuapServ ... u.cn/login_cas.aspx

  
子程序名返回值类型公开备 注
验证码  
图片框1.图片 = 网页_访问_对象 (https://cas.hzc.edu.cn/lyuapServer/captcha.jsp, , , JSESSIONID)
cookie = 文本_取右边 (JSESSIONID, “JSESSIONID=”)
web_data = 网页_访问S (https://cas.hzc.edu.cn/lyuapServ ... u.cn/login_cas.aspx”, , , , , “Cookie:” + JSESSIONID + #换行符“Host: cas.hzc.edu.cn”)
lt = 文本_取出中间文本 (web_data, #lt前, #lt后 )
execution = 文本_取出中间文本 (web_data, #execution前, #execution后 )

  
子程序名返回值类型公开备 注
功能_网页访问文本型 本命令由【精易网页调试助手】生成,请配合精易模块使用。
id = 编辑框1.内容
password = 编辑框2.内容
captcha = 编辑框3.内容
web_data = 网页_访问S (https://cas.hzc.edu.cn/lyuapServ ... u.cn/login_cas.aspx”, 1, “username=” + id + “&password=” + password + “&captcha=” + captcha + “&warn=true<=” + lt + “&execution=” + execution + “&_eventId=submit&submit=%E7%99%BB%E5%BD%95”, JSESSIONID, , “Host: cas.hzc.edu.cn”)


以上操作会返回新的cookie和重定向到一个新的网址CASPRIVACY=true; Path=/lyuapServer/; CASTGC=null   

最佳答案

查看完整内容

[e=1].版本 2 .程序集 hzc .程序集变量 http, WinHttpR .程序集变量 warn, 文本型 .程序集变量 lt, 文本型 .程序集变量 execution, 文本型 .程序集变量 eventId, 文本型 .程序集变量 submit, 文本型 .程序集变量 username, 文本型 .程序集变量 key, 文本型 .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用 .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用 .子程序 Init, 逻辑型, 公 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
头像被屏蔽
结帖率:100% (7/7)
发表于 2019-9-21 02:00:07 | 显示全部楼层   广东省东莞市
  
窗口程序集名保 留  保 留备 注
hzc   
变量名类 型数组备 注
httpWinHttpR  
warn文本型  
lt文本型  
execution文本型  
eventId文本型  
submit文本型  
username文本型  
key文本型  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用

子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用

子程序名返回值类型公开备 注
Init逻辑型 初始化
http.Rest ()
http.Auto ()
http.AutoCookies (1)
http.SetRedirect ()
http.Open (“GET”, “https://cas.hzc.edu.cn/lyuapServer/login”)
http.SetAccept (“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
http.Send ()
warn = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “warn”#引号“ value=”#引号, #引号 )
lt = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “lt”#引号“ value=”#引号, #引号 )
execution = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “execution”#引号“ value=”#引号, #引号 )
eventId = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “_eventId”#引号“ value=”#引号, #引号 )
submit = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “submit”#引号“ accesskey=”#引号“l”#引号“ value=”#引号, #引号 )
' 调试输出 (warn, lt, execution, eventId, submit)
返回 (warn ≠ “” lt ≠ “” execution ≠ “” eventId ≠ “” submit ≠ “”)
子程序名返回值类型公开备 注
Captcha字节集 验证码
http.Open (“GET”, “https://cas.hzc.edu.cn/lyuapServer/captcha.jsp”)
http.SetAccept (“image/webp,image/apng,image/*,*/*;q=0.8”)
http.SetReferer (“https://cas.hzc.edu.cn/lyuapServer/login”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
http.Send ()
返回 (http.GetResponseBody ())
子程序名返回值类型公开备 注
Login逻辑型 登录
参数名类 型参考可空数组备 注
user文本型
pass文本型
code文本型
RetStr文本型
变量名类 型静态数组备 注
Location文本型 
http.Open (“POST”, “https://cas.hzc.edu.cn/lyuapServer/login”)
http.SetAccept (“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8”)
http.SetContentType (“application/x-www-form-urlencoded”)
http.SetReferer (“https://cas.hzc.edu.cn/lyuapServer/login”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
http.Send (“username=” + user + “&password=” + pass + “&captcha=” + code + “&warn=” + warn + “<=” + lt + “&execution=” + execution + “&_eventId=” + eventId + “&submit=”URLEncodeUtf8 (submit))
Location = http.GetResponseLocation ()
如果真 (Location = “”)
RetStr = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “”,
)
如果真 (RetStr = “”)
RetStr = “登录错误”
' 调试输出 (RetStr)
返回 ()

判断循环首 (1 = 1)
http.Open (“GET”, Location)
http.SetAccept (“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
http.Send ()
Location = http.GetResponseLocation ()
如果真 (Location = “” 寻找文本 (http.GetResponseTextUtf8ToAnsi (), “修改密码”, , ) = -1)
RetStr = “重定向地址获取失败”
返回 ()
如果真 (寻找文本 (http.GetResponseTextUtf8ToAnsi (), “修改密码”, , ) ≠ -1)
跳出循环 ()
TimeDelay (100)  ' //  延迟
处理事件 ()
判断循环尾 ()
username = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “username=”, “&key”)
key = 文本_取中间 (http.GetResponseTextUtf8ToAnsi (), “&key=”, “'>”)
' 调试输出 (username, key)
RetStr = “登录成功”
返回 (username ≠ “” key ≠ “”)
子程序名返回值类型公开备 注
XsuserInfo 信息
参数名类 型参考可空数组备 注
学号文本型
姓名文本型
身份文本型
性别文本型
学院文本型
上次登录时间文本型
上次登录IP文本型
变量名类 型静态数组备 注
ExpExpressions 
str文本型 
http.Open (“GET”, “http://portal.hzc.edu.cn/”)
http.SetAccept (“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
http.Send ()
Exp.Establish (“上次登录:(.*?)[\s\S]*?上次登录IP:(.*?)”)
Exp.SearchAll (http.GetResponseTextUtf8ToAnsi ())
上次登录时间 = Exp.GetSubMatchesText (1, 1)
上次登录IP = Exp.GetSubMatchesText (1, 2)
' 调试输出 (上次登录时间, 上次登录IP)
http.Open (“GET”, “http://portal.hzc.edu.cn/user/xsuserinfo?username=” + username + “&key=” + key)
http.SetAccept (“application/json, text/javascript, */*; q=0.01”)
http.SetReferer (“http://portal.hzc.edu.cn/”)
http.SetUserAgent (“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”)
http.SetXMLHttpRequest ()
http.Send ()
str = 子文本替换 (http.GetResponseTextUtf8ToAnsi (), #引号, “”, , , )
' 调试输出 (str)
学号 = username
姓名 = 文本_取中间 (str, “username:”, “,”)
身份 = 文本_取中间 (str, “personcard:”, “,”)
性别 = 文本_取中间 (str, “sex:”, “,”)
学院 = 文本_取中间 (str, “orgname:”, “}”)
' 调试输出 (学号, 姓名, 身份, 性别, 学院)


  
窗口程序集名保 留  保 留备 注
窗口程序集_窗口1   
变量名类 型数组备 注
hzchzc  

子程序名返回值类型公开备 注
_图片框1_鼠标左键被放开逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
判断 (取反 (hzc.Init ()))
信息框 (“初始化失败!”, 0, , )
图片框1.图片 = hzc.Captcha ()

子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
bool逻辑型 
retStr文本型 
学号文本型 
姓名文本型 
身份文本型 
性别文本型 
学院文本型 
上次登录时间文本型 
上次登录IP文本型 
bool = hzc.Login (编辑框1.内容, 编辑框2.内容, 编辑框3.内容, retStr)
信息框 (retStr, 0, , )
如果真 (bool)
hzc.XsuserInfo (学号, 姓名, 身份, 性别, 学院, 上次登录时间, 上次登录IP)
retStr = “学号:” + 学号
retStr = retStr + #换行符“姓名:” + 姓名
retStr = retStr + #换行符“身份:” + 身份
retStr = retStr + #换行符“性别:” + 性别
retStr = retStr + #换行符“学院:” + 学院
retStr = retStr + #换行符“上次登录时间:” + 上次登录时间
retStr = retStr + #换行符“上次登录IP:” + 上次登录IP
信息框 (retStr, 0, , )


Dome.zip (82.69 KB, 下载次数: 6)

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:57% (4/7)
 楼主| 发表于 2019-9-21 02:02:26 | 显示全部楼层   广东省惠州市
取验证码
https://cas.hzc.edu.cn/lyuapServer/captcha.jsp        //取 验证码cookie 字节集文件  JSESSIONID是获取验证码时得到的cookie

取网页源码
https://cas.hzc.edu.cn/lyuapServer/login?service=http://t.hzc.edu.cn/login_cas.aspx                //置cookie:JSESSIONID        Host:t.hzc.edu.cn       
post提交
https://cas.hzc.edu.cn/lyuapServer/login?service=http://t.hzc.edu.cn/login_cas.aspx                //置入cookie:JSESSIONID        Host:t.hzc.edu.cn
提交参数       
username=学号
password=密码
captcha=验证码
warn=true
lt
execution
_eventId=submit
submit=登录        //建议url编码再post
回复

使用道具 举报

结帖率:57% (4/7)
 楼主| 发表于 2019-9-21 02:02:54 | 显示全部楼层   广东省惠州市
将取到的页面源码用正则取出 lt、execution的value
回复

使用道具 举报

结帖率:57% (4/7)
 楼主| 发表于 2019-9-21 02:03:38 | 显示全部楼层   广东省惠州市
post操作后会返回新的cookie和协yi头       
cookie:CASPRIVACY=true; Path=/lyuapServer/; CASTGC=null        //CASTGC一般为.org结尾的文本
协yi头: 取Location                //Location一般为 : http://t.hzc.edu.cn/login_cas.aspx?ticket=ST-随机字符串.example.org
回复

使用道具 举报

结帖率:57% (4/7)
 楼主| 发表于 2019-9-21 02:04:58 | 显示全部楼层   广东省惠州市
cookie:ASP.NET_SessionId; route
这个才是最要命的 不访问 http://t.hzc.edu.cn/login_cas.aspx?ticket=ST-随机字符串.example.org 这个链接就得不到cookie 访问了就给你拒接验证

问题应该就出在这里
回复

使用道具 举报

结帖率:100% (14/14)

签到天数: 14 天

发表于 2019-9-21 02:46:38 | 显示全部楼层   江苏省盐城市
有点乱, 直接发网站链接好点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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