开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

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

[易语言] POST登录联通光猫

[复制链接]
结帖率:91% (31/34)
发表于 2024-1-22 03:36:34 | 显示全部楼层 |阅读模式   河北省石家庄市
15精币
主要是想通过POST的方式来一键重启光猫,登录都过不去。。。

找到了登录的包,网址1 = “http://192.168.1.1/fh_post_login.ajax?commonName=dXNlcg==&commonPs=eDR6cnA0YWo%3D”这是用编码_BASE64加密的帐号密码,返回的是一段JSON
{"userAccess":"2","adminAccess":"1","factoryAccess":"4","debugUserAccess":"8","ret":"0","inUseNameAcess":"2","success":true}
这个RET0应该是登录成功了,但是在我访问其它页面的时候就说我没访问成功,我用浏览器抓包发现,在请求其它页面的时候带了我在想,如何获取到这个session_id
Cookie:session_id=user_1040983277
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
网址1文本型  
cookie文本型  
请求cookie文本型  
返回页文本型  
返回字节集字节集  

子程序名返回值类型公开备 注
_按钮1_被单击  
网址1 = “http://192.168.1.1/”
返回字节集 = 网页_访问_对象 (网址1, 0, , 请求cookie, cookie, “User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36”, , , 真, , , , , , , , , , )
返回页 = 到文本 (编码_Utf8到Ansi (返回字节集))
写到文件 (取运行目录 ()“\test.html”, 返回字节集)
超文本浏览框1.地址 = 取运行目录 ()“\test.html”
调试输出 (“COOKIE1”, 请求cookie)
调试输出 (“COOKIE2”, cookie)


i支持库列表   支持库注释   
HtmlView超文本浏览框支持库
spec特殊功能支持库


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:91% (31/34)
 楼主| 发表于 2024-1-22 05:35:34 | 显示全部楼层   河北省石家庄市
以下是我用PYTHON写的,能实现重启,为什么用易语言就取不到这个COOK

[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
import requests
import re
headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
'session_id': 'user_1243166927',
    'Host': '192.168.1.1',
    'Pragma': 'no-cache',
    'Referer': 'http://192.168.1.1/ctlogout.cmd',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36',
}

response = requests.get('http://192.168.1.1', headers=headers)

print(response.text)  # 返回的内容
print(response.cookies)  # 服务器返回的cookie

# 登录
url = "http://192.168.1.1/fh_post_login.ajax?commonName=dXNlcg==&commonPs=eDR6cnA0YWo%3D"

# 设置 HTTP 头部
headers = {
    "Accept": "application/json, text/javascript, */*; q=0.01",
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Cookie": "session_id=user_1243166927",
    "Host": "192.168.1.1",
    "Pragma": "no-cache",
    "Referer": "http://192.168.1.1/login.html",
    "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36",
    "X-Requested-With": "XMLHttpRequest",
}

# 发送 GET 请求
response = requests.get(url, headers=headers)
print('responsecookies')
# 输出获取到的 cookies
print(response.cookies)
# 提取 session_id
cookie_dict = requests.utils.dict_from_cookiejar(response.cookies)
session_id = cookie_dict.get('session_id')
print(session_id)


#进重启页
url = "http://192.168.1.1/resetrouter.html"
headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Cookie": f"session_id={session_id}",
    "Host": "192.168.1.1",
    "Pragma": "no-cache",
    "Referer": "1",
    "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36",
}
response = requests.get(url, headers=headers)
print(response.text)  # 返回的内容

session_keyz = re.findall("sessionKey='(.*?)'", response.text)
session_key=session_keyz[0]
print(session_key)  # 输出:1044244000
#重启
url = f"http://192.168.1.1/rebootinfo.cgi?sessionKey={session_key}"
print(url)
headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Cookie": f"session_id={session_id}",
    "Host": "192.168.1.1",
    "Pragma": "no-cache",
    "Referer": "http://192.168.1.1/resetrouter.html",
    "Upgrade-Insecure-Requests": "1",
    "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36",
}
response = requests.get(url, headers=headers)
print(response.text)  # 返回的内容
回复

使用道具 举报

结帖率:76% (32/42)
发表于 2024-1-22 06:20:15 | 显示全部楼层   湖南省长沙市
通常来讲 ,GET访问起始页 就会返回Cookies  你可以用FD或者其他抓包软件看一下,具体是哪个包返回了这个Cookie
回复

使用道具 举报

签到天数: 2 天

发表于 2024-1-22 07:51:17 | 显示全部楼层   河北省石家庄市
如果cookies已经携带 ,就看head头里有没有其他的值,带上就行了
回复

使用道具 举报

结帖率:100% (12/12)
发表于 2024-1-22 08:43:08 | 显示全部楼层   浙江省绍兴市
看来返回了 COOKIE带上cookie
回复

使用道具 举报

结帖率:88% (7/8)

签到天数: 2 天

发表于 2024-1-22 09:17:23 | 显示全部楼层   河北省沧州市
打开首页的时候已经返回了一个cookie,应该在这里
回复

使用道具 举报

结帖率:91% (31/34)
 楼主| 发表于 2024-1-22 10:31:13 | 显示全部楼层   河北省石家庄市
买疙瘩 发表于 2024-1-22 09:17
打开首页的时候已经返回了一个cookie,应该在这里

这个COOK怎么获取,我用网页_访问获取不到
回复

使用道具 举报

结帖率:100% (8/8)

签到天数: 3 天

发表于 2024-1-22 10:52:24 | 显示全部楼层   广东省东莞市
用 网页_访问_对象()  返回cookie哪里放上变量,后面访问带上返回的cookie就好
回复

使用道具 举报

结帖率:91% (31/34)
 楼主| 发表于 2024-1-22 10:54:13 | 显示全部楼层   河北省石家庄市
这是我写的,这个COOKIE返回是空的

  
子程序名返回值类型公开备 注
_按钮3_被单击  
add_协议头.添加 (“Accept”, “application/json) text/javascript) */*; q=0.01”)
add_协议头.添加 (“Accept”, “application/json) text/javascript) */*; q=0.01”)
add_协议头.添加 (“Accept-Encoding”, “gzip) deflate”)
add_协议头.添加 (“Accept-Language”, “zh-CN)zh;q=0.9”)
add_协议头.添加 (“Cache-Control”, “no-cache”)
add_协议头.添加 (“Connection”, “keep-alive”)
add_协议头.添加 (“Cookie”, “session_id=user_1243166927”)
add_协议头.添加 (“Host”, “192.168.1.1”)
add_协议头.添加 (“Pragma”, “no-cache”)
add_协议头.添加 (“Referer”, “http://192.168.1.1/login.html”)
add_协议头.添加 (“User-Agent”, “Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML) like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36”)
add_协议头.添加 (“X-Requested-With”, “XMLHttpRequest”)
add_协议头.添加 (“Accept-Encoding”, “gzip) deflate”)
add_协议头.添加 (“Accept-Language”, “zh-CN)zh;q=0.9”)
add_协议头.添加 (“Cache-Control”, “no-cache”)
add_协议头.添加 (“Connection”, “keep-alive”)
add_协议头.添加 (“Cookie”, “session_id=user_1243166927”)
add_协议头.添加 (“Host”, “192.168.1.1”)
add_协议头.添加 (“Pragma”, “no-cache”)
add_协议头.添加 (“Referer”, “http://192.168.1.1/login.html”)
add_协议头.添加 (“User-Agent”, “Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML) like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36”)
add_协议头.添加 (“X-Requested-With”, “XMLHttpRequest”)
网址1 = “http://192.168.1.1/fh_post_login.ajax?commonName=dXNlcg==&commonPs=eDR6cnA0YWo%3D”
返回字节集 = 网页_访问_对象 (网址1, 0, , 请求cookie, cookie, add_协议头.获取协议头数据 (), , , 真, , )
返回页 = 到文本 (编码_Utf8到Ansi (返回字节集))
写到文件 (取运行目录 ()“\test.html”, 返回字节集)
超文本浏览框1.地址 = 取运行目录 ()“\test.html”
' 调试输出 (返回页)
调试输出 (返回页)
调试输出 (“COOKIE1”, cookie)


i支持库列表   支持库注释   
HtmlView超文本浏览框支持库
spec特殊功能支持库

回复

使用道具 举报

结帖率:91% (31/34)
 楼主| 发表于 2024-1-22 11:07:15 | 显示全部楼层   河北省石家庄市
吉先锋 发表于 2024-1-22 10:54
这是我写的,这个COOKIE返回是空的

[e=0].版本 2

这个协议头是有添加重复的,我删除了重复的还是获取不到COOK
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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