请使用手机微信扫码安全登录

切换账号密码登录

绑定手机号

应国家法规对于账号实名的要求,请您在进行下一步操作前,需要先完成手机绑定 (若绑定失败,请重新登录绑定)。了解更多

不绑定绑定手机号

360官网 | 360商城

推荐论坛版块360粉丝商城360用户活动常见问题
大佬们求助
麒麟服务器arm-v10sp3
安装软件 browser360-13.4.aarch64.rpm
xrdp-0.10.4.2-aarch64.rpm
xorgxrdp-0.10.4-1-aarch64.rpm
freerdp-2.4.1-1.ky10.rpm
python3.8.3
freerdp连接多个用户,使用xorg登录,登录后操作360浏览器打开,关闭,点点点,0-1天内,运行360的用户远程桌面会卡死,其他远程用户是正常,卡死时后看cpu内存没有异常变化
操作火狐同样的步骤,或者长期挂着远程不运行360,没有出现类似问题

这段是python操作浏览器,脚本循环执行,卡死之后日志 到执行js时报错failed to establish a new connnection
import socket
import requests
import websocket
import json
import time
import random
import subprocess
import logging

logging.basicConfig(
    filename='run360.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    filemode='a')

def find_available_port(min_port=9222, retry=10):
    for _ in range(retry):
        port = min_port + random.randint(0,100)
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            try:
                s.bind(('127.0.0.1', port))
                return port
            except OSError:
                continue

def list_tab():
    resp = requests.get("%s/json" % dev_url)
    tabs_map = {}
    for tab_json in resp.json():
        if tab_json["type"] != "page":
            continue
        tabs_map[tab_json["id"]] = [tab_json["title"], tab_json["url"]]
    return tabs_map

def get_tab(title=None, url=None):
    tabs = list_tab()
    print(tabs)
    if title or url:
        tab,url = [(id, _url) for id, (_title, _url) in tabs.items() if (url and url in _url) or (title and title in _title)]
    else:
        tab,url = list(tabs.keys())[0], list(tabs.values())[0][1]
    return tab,url

def excute_js(title=None, url=None, js_code=None):
    tab_id, url = get_tab(title, url)
    ws = websocket.WebSocket()
    ws.connect(f"ws://127.0.0.1:{port}/devtools/page/{tab_id}")
    command = {
        "id": 1,
        "method": "Runtime.evaluate",
        "params": {
            "expression": js_code
        }
    }
    ws.send(json.dumps(command))
    resp = ws.recv()
    ws.close()
    res = json.loads(resp)
    print(res)
js_code="""
const a =document.getElementsByClassName('ant-input');
a[0].value='用户';
a[0].dispatchEvent(new Event('input',{'bubbles':true}));
a[1].value='密码';
a[1].dispatchEvent(new Event('input',{'bubbles':true}));
const b = document.getElementsByTagName('button');
b[0].click();
"""

js_code2 = """
const d = document.getElementsByTagName('li');
d[1].click();
d[2].click();
d[3].click();"""
try:
    port = find_available_port()
    print(port)
    dev_url = f"http://127.0.0.1:{port}"
    browser_path = "/usr/bin/browser360-cn-stable"
    url = ""
    cmd = ["pkill", "-u", "xrdp_198_4", "-9", "browser360"]
    subprocess.run(cmd)
    time.sleep(3)
    param1 = "--no-sanbox"
    param2 = "--start-maximized"
    param3 = "--hide-crash-restore-bubble"
    param4 = "--disable-background-networking"
    param5 = "--incognito"
    param6 = f"--remote-debugging-port={port}"
    param7 = f"--remote-allow-origins=http://127.0.0.1:{port}"
    logging.info('----------------start-------------------')
    logging.info('start_360')
    subprocess.Popen([browser_path, url, param1, param2, param3, param4, param5, param6, param7], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    time.sleep(5)
    logging.info('start_login')
    excute_js(js_code=js_code)
    time.sleep(5)
    logging.info('start_process')
    excute_js(js_code=js_code2)
except Exception as e:
    logging.error(e)

共 1 个关于freerdp远程的窗口使用360卡死的回复 最后回复于 2025-8-20 10:12

评论

直达楼层

沙发
360fans_57672281 版主 发表于 2025-8-20 10:12 | 只看该作者 | 私信

IP属地: 未知

您好,请添加下360安全浏览器官方技术支持QQ群,帮您解决.QQ群:656410310
您需要登录后才可以回帖 登录 | 注册

本版积分规则

每天一斤可乐 LV1.上等兵

粉丝:0 关注:0 积分:8

精华:0 金币:19 经验:7

IP属地: 局域网

最后登录时间:2025-8-22

私信 加好友

最新活动

纳智成篇,听你所想| 山城共话产品未来!36

排行榜

热度排行 查看排行
今日 本周 本月 全部
    今日 本周 本月 全部

      扫码添加360客服号,涨知识的同时还有超多福利等你哦

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