开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 2889|回复: 16
收起左侧

[易语言纯源码] 德邦快递登录cha询单号写法思路

[复制链接]
结帖率:73% (8/11)
发表于 2021-3-20 18:06:39 | 显示全部楼层 |阅读模式   云南省昆明市
分享源码
界面截图:
是否带模块: 调用了模块
备注说明: -
很久没出来活跃了,来骗点精币
思路:德邦登录获取cookie    利用cookie提交获取表单。
首先说下难点,难住我的是登录这步,发现POST登录的加密自己解决不掉哈哈,而后选择了后台填表。
其次的话基本没啥大问题,跟着思路写就可以。
填表登录有个问题,因为是后台没什么特征登录成功,所以执行之后通过返回的cookie尝试获取表单,这里会有返回提示未登录或者其他错误。
限制一百条订单主要是速度问题,太多了太慢了。测试获取的参数貌似并没有限制,500也能获取-提交 ' {"pageIndex":1,"pageSize":"50",(获取表单数量)"ordersort":0,"startTime":"2021-02-22 00:00:00","endTime":"2021-02-23 23:59:59"}



获取数据的:
  
子程序名返回值类型公开备 注
获取数据1 本命令由【精易网页调试助手】生成,请配合精易模块使用。
变量名类 型静态数组备 注
局_网址文本型 
局_方式整数型 
局_提交数据文本型 
局_提交cookie文本型 
ADD_协议头类_POST数据类 
局_提交协议头文本型 
局_结果字节集 
局_返回文本型 
数据量整数型 
N整数型 
按钮_查询.标题 = “查询中”
按钮_查询.禁止 = 真
超级列表框1.全部删除 ()
' https://www.deppon.com/gwapi/orderService/eco/order/secure/orderList
局_网址 = “https://www.deppon.com/gwapi/orderService/eco/order/secure/orderList”
局_方式 = 1
' {"pageIndex":1,"pageSize":"50","ordersort":0,"startTime":"2021-02-22 00:00:00","endTime":"2021-02-23 23:59:59"}
局_提交数据 = “{”#引号“pageIndex”#引号“:1,”#引号“pageSize”#引号“:”#引号“100”#引号“,”#引号“ordersort”#引号“:0,”#引号“startTime”#引号“:”#引号 + startime + #引号“,”#引号“endTime”#引号“:”#引号 + endtime + #引号“}”
局_提交cookie = COOKIE
ADD_协议头.添加 (“accept”, “application/json, text/plain, */*”, )
ADD_协议头.添加 (“user-agent”, “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0”, )
ADD_协议头.添加 (“origin”, “https://www.deppon.com”, )
ADD_协议头.添加 (“authority”, “www.deppon.com”, )
ADD_协议头.添加 (“method”, “POST”, )
ADD_协议头.添加 (“path”, “/gwapi/orderService/eco/order/secure/orderList”, )
ADD_协议头.添加 (“scheme”, “https”, )
ADD_协议头.添加 (“accept”, “application/json, text/plain, */*”, )
ADD_协议头.添加 (“accept-encoding”, “gzip, deflate, br”, )
ADD_协议头.添加 (“accept-language”, “zh-CN,zh;q=0.9”, )
ADD_协议头.添加 (“authorization”, “ignore”, )
ADD_协议头.添加 (“content-length”, “111”, )
ADD_协议头.添加 (“content-type”, “application/json”, )
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_结果 = 网页_访问_对象 (局_网址, 局_方式, 局_提交数据, 局_提交cookie, , 局_提交协议头, , , , , , , , , , , , , )
局_结果 = 网页_GZIP解压 (局_结果)
局_返回 = 编码_URL解码 (到文本 (局_结果), )
json.解析 (局_返回, )
数据量 = 到整数 (json.取属性 (“result.totalRows”).取数据文本 ())
如果真 (数据量 < 1)
信息框 (“未查到订单信息”, 0, “提示”, )
按钮_查询.禁止 = 假
按钮_查询.标题 = “查询”
返回 ()

计次循环首 (数据量, N)
如果真 (json.取通用属性 (“result.queryOrderList[”到文本 (N - 1)“].orderTime”, )“”)
跳出循环 ()

超级列表框1.插入表项 (N - 1, json.取通用属性 (“result.queryOrderList[”到文本 (N - 1)“].orderTime”, ), , , , )
超级列表框1.置标题 (N - 1, 1, json.取通用属性 (“result.queryOrderList[”到文本 (N - 1)“].waybillNumber”, ))
超级列表框1.置标题 (N - 1, 2, json.取通用属性 (“result.queryOrderList[”到文本 (N - 1)“].receiveName”, ))
超级列表框1.置标题 (N - 1, 3, json.取通用属性 (“result.queryOrderList[”到文本 (N - 1)“].contactCity”, ))
超级列表框1.置标题 (N - 1, 4, json.取通用属性 (“result.queryOrderList[”到文本 (N - 1)“].receiverCustCity”, ))
处理事件 ()
计次循环尾 ()


i支持库列表   支持库注释   
iext扩展界面支持库一







填表的
.版本 2
.支持库 wke
.支持库 EThread

.子程序 填表_开始
.局部变量 Webview, 整数型

窗口_德邦.按钮_校验.标题 = “自动登录中”
Webview = 浏览器1.取WebView ()
填表.文档_进入编辑模式 (Webview, 真)
延时 (1000)
填表.元素置焦点 (Webview, #填表模式_JS表达式, “#userName”, 0)
延时 (1000)
置剪辑板文本 (“号码”)
窗口_德邦.按钮_校验.标题 = “登录账号:” + 账号
填表.文档_粘贴 (Webview)
延时 (1000)
填表.元素置焦点 (Webview, #填表模式_JS表达式, “#password”, 0)
延时 (1000)
置剪辑板文本 (“密码”)
填表.文档_粘贴 (Webview)
延时 (1000)
填表.元素点击 (Webview, #填表模式_JS表达式, “#loginBtn”, 0)
延时 (1000)
窗口_德邦.按钮_校验.标题 = “获取cookie”
COOKIE = 浏览器1.获取Cookie ()
启动线程 (&获取数据检验, , )






还有校验是否登录成功

.版本 2
.支持库 wke

.子程序 获取数据检验, , , 本命令由【精易网页调试助手】生成,请配合精易模块使用。
.局部变量 局_网址, 文本型
.局部变量 局_方式, 整数型
.局部变量 局_提交数据, 文本型
.局部变量 局_提交cookie, 文本型
.局部变量 ADD_协议头, 类_POST数据类
.局部变量 局_提交协议头, 文本型
.局部变量 局_结果, 字节集
.局部变量 局_返回, 文本型

' https://www.deppon.com/gwapi/orderService/eco/order/secure/orderList
局_网址 = “https://www.deppon.com/gwapi/orderService/eco/order/secure/orderList”
局_方式 = 1
' {"pageIndex":1,"pageSize":"50","ordersort":0,"startTime":"2021-02-22 00:00:00","endTime":"2021-02-23 23:59:59"}
局_提交数据 = “{” + #引号 + “pageIndex” + #引号 + “:1,” + #引号 + “pageSize” + #引号 + “:” + #引号 + “20” + #引号 + “,” + #引号 + “ordersort” + #引号 + “:0,” + #引号 + “startTime” + #引号 + “:” + #引号 + “2021-02-22 00:00:00” + #引号 + “,” + #引号 + “endTime” + #引号 + “:” + #引号 + “2021-02-23 23:59:59” + #引号 + “}”
局_提交cookie = COOKIE
ADD_协议头.添加 (“accept”, “application/json, text/plain, */*”, )
ADD_协议头.添加 (“user-agent”, “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0”, )
ADD_协议头.添加 (“origin”, “https://www.deppon.com”, )
ADD_协议头.添加 (“authority”, “www.deppon.com”, )
ADD_协议头.添加 (“method”, “POST”, )
ADD_协议头.添加 (“path”, “/gwapi/orderService/eco/order/secure/orderList”, )
ADD_协议头.添加 (“scheme”, “https”, )
ADD_协议头.添加 (“accept”, “application/json, text/plain, */*”, )
ADD_协议头.添加 (“accept-encoding”, “gzip, deflate, br”, )
ADD_协议头.添加 (“accept-language”, “zh-CN,zh;q=0.9”, )
ADD_协议头.添加 (“authorization”, “ignore”, )
ADD_协议头.添加 (“content-length”, “111”, )
ADD_协议头.添加 (“content-type”, “application/json”, )

局_提交协议头 = ADD_协议头.获取协议头数据 ()

局_结果 = 网页_访问_对象 (局_网址, 局_方式, 局_提交数据, 局_提交cookie, , 局_提交协议头, , , , , , , , , , , , , )
局_结果 = 网页_GZIP解压 (局_结果)
局_返回 = 编码_URL解码 (到文本 (局_结果), 真)
json.解析 (局_返回, )

.如果真 (文本_寻找文本 (局_返回, “message”, 0, 真) = -1)
    信息框 (“登录失败,请重试”, 0, “erro”, )
    窗口_德邦.按钮_校验.禁止 = 假
    窗口_德邦.按钮_校验.标题 = “重试登录”
    返回 ()
.如果真结束


.如果 (json.取通用属性 (“message”, ) ≠ “未登录”)

    写配置项 (德邦配置目录, “德邦”, “cookie”, COOKIE)
    按钮_查询.禁止 = 假
    按钮_校验.禁止 = 真
    按钮_校验.标题 = “已登录用户:” + 账号

    窗口3.销毁 ()
.否则
    按钮_查询.禁止 = 真
    按钮_校验.禁止 = 假
    信息框 (json.取通用属性 (“message”, ), 0, “erro”, 窗口_德邦)
.如果结束


' 返回数据被Gzip压缩,调用命令[网页_Gzip解压]需要[Gzip.dll]文件,  将助手根目录下[\gzip.dll]放到源码的根目录才能正常返回数据

.子程序 _按钮_校验_被单击

.如果 (窗口_是否存在 (“德邦自动登录”) ≠ 0)
    按钮_校验.禁止 = 真
    按钮_校验.标题 = “登录中”
    窗口3.浏览器1.重新载入 ()
    延时 (1000)
    线程_开始 ()
.否则
    载入 (窗口3, , 假)
    按钮_校验.禁止 = 真
    按钮_校验.标题 = “登录中”
    延时 (1000)
    线程_开始 ()


为什么不直接上源码,,,,这是一个公司找我定制在另一款软件内的。所以拆出来也用不了。大家学习吧,思路其实很简单的。另外有谁能解决POST登录加密可以评论区指教。我也是个玩易语言没多久的菜鸟。


评分

参与人数 1好评 +1 精币 +2 收起 理由
734108950 + 1 + 2 感谢发布原创作品,精易因你更精彩!

查看全部评分


结帖率:81% (26/32)

签到天数: 2 天

发表于 2022-3-20 23:01:39 | 显示全部楼层   上海市上海市
精彩文章希望继续努力
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)
 楼主| 发表于 2021-6-3 11:42:32 | 显示全部楼层   云南省昆明市
已经解决POST登录问题,密码是MD5加密的
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:85% (109/128)
发表于 2021-3-24 16:30:08 | 显示全部楼层   贵州省黔东南苗族侗族自治州
感谢分享!!!
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2021-3-24 13:27:11 | 显示全部楼层   河南省南阳市
a718422052 发表于 2021-3-24 10:38
不是,我这个是登录德邦账号能获取我每天发了哪些货,不是单纯查单号哦 ...

额  明白了
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)
 楼主| 发表于 2021-3-24 10:38:18 | 显示全部楼层   云南省昆明市
734108950 发表于 2021-3-21 03:50
第三方接口不香么

不是,我这个是登录德邦账号能获取我每天发了哪些货,不是单纯查单号哦
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)
 楼主| 发表于 2021-3-24 10:37:44 | 显示全部楼层   云南省昆明市
飞宇 发表于 2021-3-20 18:29
第三方接口不香么

不是,我这个是登录德邦账号能获取我每天发了哪些货,不是单纯查单号哦,德邦网站上的表单界面不简洁,不好处理
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)
 楼主| 发表于 2021-3-24 10:37:04 | 显示全部楼层   云南省昆明市
飞宇 发表于 2021-3-20 18:29
第三方接口不香么

不是,我这个是登录德邦账号能获取我每天发了哪些货,不是单纯查单号哦
回复 支持 反对

使用道具 举报

结帖率:96% (50/52)

签到天数: 8 天

发表于 2021-3-24 01:02:06 | 显示全部楼层   广东省潮州市
这么厉害!必须给个红包鼓励下~
回复 支持 反对

使用道具 举报

发表于 2021-3-23 23:46:34 | 显示全部楼层   巴基斯坦
感谢开源 必须支持!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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