惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
云风的 BLOG
云风的 BLOG
小众软件
小众软件
雷峰网
雷峰网
博客园 - 【当耐特】
V
V2EX
WordPress大学
WordPress大学
IT之家
IT之家
Last Week in AI
Last Week in AI
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
有赞技术团队
有赞技术团队
The Cloudflare Blog
Jina AI
Jina AI
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - shiningrise

Admin.NET开源版微服务改造记录 基于openspec-cn的SDD规范驱动开发实战 osharp集成Yitter.IdGenerator并实现分布式ID osharp多租户方案 deepseek本地部署简要教程 WinForm 直接运行 Admin.NET 在 ASP.NET Core 中创建 gRPC 客户端和服务器 Refit使用入门 Ocelot集成Consul实现api网关与服务发现 docker私有注册表 dotnet微服务之API网关Ocelot Abp源码分析之Serilog日志 Abp源码分析之虚拟文件系统Volo.Abp.VirtualFileSystem Abp源码分析之Abp本地化 Abp源码分析之Abp最小系统 类似hbuildx的软件 魔法商店题解 k8s配置文件 阿里k8s负载均衡型服务加证书方法
python远程登录Admin.NET
shiningrise · 2024-09-30 · via 博客园 - shiningrise

def getCipherPassword(password):
    private_key = '8EDB615B1D48B8BE188FC0F18EC08A41DF50EA731FA28BF409E6552809E3A111'  # 这里假设你已经有了私钥字符串,实际中需通过特定方法生成
    public_key = '0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312'   # 同理,公钥字符串

    # 生成SM2密钥对
    sm2 = gmssl.sm2.CryptSM2(public_key=public_key,private_key=private_key,mode=1)

    # 加密
    ciphertext = sm2.encrypt(password.encode())
    print(f"加密后的消息(二进制形式): {ciphertext.hex()}")
    
    return ciphertext.hex()
        
def login():
    # 登录页面的URL
    login_url = 'http://localhost:5005/api/sysAuth/login'
    headers = {
       # 'Authorization': 'Bearer YourAccessToken',  # 替换为您的访问令牌或其他认证信息
        'Content-Type': 'application/json'  # 根据接口要求添加请求头
    }
    password = getCipherPassword('密码')
    # 登录表单的数据
    payload = {
        'account': 'superadmin',
        'password': password,
        'schoolId': 'npjx',
        'code': '',
        'codeId':0,
        'userid':''
    }
    print(payload)
    # 使用Session保持会话状态
    session = requests.Session()

    # 发送POST请求以登录
    login_response = session.post(login_url,data=str(payload),headers=headers)
            
    # 检查登录是否成功
    if login_response.status_code == 200:
        print("登录成功!")
        try:
            error_info = login_response.json()  # 尝试解析错误信息
            print("错误信息:", login_response.text)
        except ValueError:
            # 如果响应不是 JSON 格式,打印文本内容
            print("错误信息:", login_response.text)
    else:
        print("登录失败")

参考文章:国密sm2的Vue、Python、Java互通使用