首页 > 其他分享 >set whiteip

set whiteip

时间:2025-01-03 15:35:02浏览次数:1  
标签:set ip whiteip list datetime input 白名单 import

# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
#pyinstaller --onefile your_script.py
#创建虚拟环境venv:
#python3 -m venv venv


#依赖安装:
#pip3 install --upgrade pip
#pip3 install aliyun-python-sdk-dcdn==2.2.19

import os
import sys
import requests

from typing import List
import ast
import subprocess
import json
from alibabacloud_dcdn20180115.client import Client as dcdn20180115Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dcdn20180115 import models as dcdn_20180115_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient




from datetime import datetime  
from urllib.request import urlopen  
import time  
import ssl  
import sys  
  
ssl._create_default_https_context = ssl._create_unverified_context  
  
  
def get_network_time():  
    url = "https://www.baidu.com"  
    try:  
        with urlopen(url) as res:  
            utctime = gmtstr_to_localtime(res.getheader("Date"))  
            return datetime_from_utc_to_local(utctime)  
    except Exception as e:  
        print("请检查网络设置")  
        sys.exit()  
  
  
def gmtstr_to_localtime(gmtstr) -> datetime:  
    return datetime.strptime(gmtstr, "%a, %d %b %Y %H:%M:%S GMT")  
  
  
def datetime_from_utc_to_local(utc_datetime):  
    now_timestamp = time.time()  
    offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(  
        now_timestamp  
    )  
    return utc_datetime + offset  





class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> dcdn20180115Client:
        """
        使用AK&SK初始化账号Client
        @return: Client
        @throws Exception
        """
        # 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        # 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378659.html。
        config = open_api_models.Config(
            # 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。,
            access_key_id="LTAI5tPGKLFGsca3
        )
        # Endpoint 请参考 https://api.aliyun.com/product/dcdn
        config.endpoint = f'dcdn.aliyuncs.com'
        return dcdn20180115Client(config)

    @staticmethod
    def main(
    ) -> None:
        client = Sample.create_client()
        print("轮班自助his白名单ip添加工具,使用过程中任何问题联系运维QinRui")
        dm = 'pvip.hfkmyl.com'
        input_dm = input("请输入需要新增白名单域名:")
        print("需要配置白名单域名是:",input_dm)
        dm = input_dm
        describe_dcdn_domain_configs_request = dcdn_20180115_models.DescribeDcdnDomainConfigsRequest(
            domain_name=dm,
            function_names='ip_allow_list_set'
        )
        runtime = util_models.RuntimeOptions()
        try:
             #1、先获取域名的ip白名单列表
             result = client.describe_dcdn_domain_configs_with_options(describe_dcdn_domain_configs_request, runtime)
             default_ip_while_list = result.body.domain_configs.domain_config[0].function_args.function_arg[0].arg_value
             # 打印下获取的域名白名单ip地址段
             print("当前查询的域名的ip白名单地址列表为:" + default_ip_while_list)
             # 提示用户输入
             input_set_ip_while_list = input("请输入需要新增的ip白名单地址段,格式必须是ip或者ip地址段:")
             print("你输入的新增ip白名单为:", input_set_ip_while_list)
             #3、将输入的ip白名单列表和域名本身的ip白名单混在一起
             # 将两个 IP 白名单地址转换为列表
             default_ip_list = default_ip_while_list.split(',')
             input_ip_list = input_set_ip_while_list.split(',')

             # 合并这两个列表
             merged_ip_list = default
             function_str = '''
                   [
                    {
                      "functionArgs": [
                       {
                          "argName": "ip_list",
                          "argValue": ""
                       }
                    ], 
                      "functionName": "ip_allow_list_set"
                    }
                   ]
                   '''
             # 将字符串转换为 Python 对象
             function_list = json.loads(function_str)tchSetDcdnDomainConfigsRequest(
                 domain_names=dm,
                 functions=updated_function_str
             )
             #print(updated_function_str)
             ad1 = client.batch_set_dcdn
            UtilClient.assert_as_string(error.message)

if __name__ == '__main__':
     #Sample.m
     html = response.text
     print("本次执行出口地址:",html)
     count = 1
     
     def lock():  
        now = get_network_time()
        print(now)
        end_date = datetime(2025, 2, 27)  
        if now > end_date:  
            #print("g

     time.sleep(3)
     #'''

 

标签:set,ip,whiteip,list,datetime,input,白名单,import
From: https://www.cnblogs.com/ruiy/p/18650198

相关文章

  • 深入理解 Java Set 集合:原理、应用与高频面试题解析
    深入理解JavaSet集合:原理、应用与高频面试题解析在Java中,Set是一种重要的集合接口,用于存储不重复的元素。无论是在实际开发中,还是在面试场景中,Set都是一个高频的知识点。本篇文章将详细介绍JavaSet集合的基础知识、常见实现类、应用场景以及面试常考题,最后通过总结帮助......
  • selectdataset 发布2024最热门Top100数据集
    遇见数据集索引了国内外的大部分网站。首页有最新的数据集推荐:GitHub、HuggingFace、arXiv这些热门站点​,都属于日级别的更新。这个站点是从搜索引擎方面去监控最新的数据集,大家如果有关注某个一个特点领域或话题的更新,可以关注这个站点:遇见数据集-让每个数据集都被发现,让每......
  • wx.batchSetStorage
    wx.batchSetStorage(Objectobject)基础库2.25.0开始支持,低版本需做兼容处理。以Promise风格调用:支持小程序插件:不支持微信鸿蒙OS版:支持相关文档:存储策略功能描述将数据批量存储在本地缓存中指定的key中。会覆盖掉原来该key对应的内容。除非用户主动删......
  • wx.setBackgroundFetchToken
    wx.setBackgroundFetchToken(objectobject)基础库2.8.0开始支持,低版本需做兼容处理。以Promise风格调用:支持小程序插件:不支持相关文档:周期性更新、数据预拉取功能描述设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性参数objectobje......
  • CopyOnWriteArraySet与CopyOnWriteArrayList
    这两个集合都支持写复制,在并发性方面比,ArrayList,LinkList要好一些。适用场景:读多邪少的情况看下源码为甚么读多写少的情况下比较好第一步:CopyOnWriteArraySetcopyOnWriteArraySet=newCopyOnWriteArraySet<>();copyOnWriteArraySet......
  • 【YashanDB知识库】YAS-02507 base incremental backup set does not exist
    本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7849016.html?templateId=1718516【标题】错误码处理【问题分类】执行数据库备份命令时报错【关键字】YAS-02507【问题描述】执行BACKUPDATABASEINCREMENTALLEVEL1format'/data/yasdb_back/bac......
  • wx.setWindowSize
    wx.setWindowSize(Objectobject)从基础库2.11.0开始,本接口停止维护基础库2.10.1开始支持,低版本需做兼容处理。以Promise风格调用:不支持小程序插件:不支持微信Windows版:支持微信Mac版:支持功能描述设置窗口大小,该接口仅适用于PC平台,使用细则请参见指南参......
  • wx.setTopBarText
    wx.setTopBarText(Objectobject)从基础库1.9.9开始,本接口停止维护基础库1.4.3开始支持,低版本需做兼容处理。以Promise风格调用:支持需要页面权限:当前是插件页面时,宿主小程序不能调用该接口,反之亦然小程序插件:不支持功能描述动态设置置顶栏文字内容。只有当前小......
  • Java 集合框架之 List、Set 和 Map 的比较与使用
    Java集合框架之List、Set和Map的比较与使用引言在Java编程中,集合(Collection)是用于存储多个对象的数据结构。List、Set和Map是Java集合框架中最常用的接口,它们各自提供了不同的特性来满足不同的需求。本文将深入探讨这三种集合类型的区别以及如何正确选择和使......
  • 比较 HashSet、LinkedHashSet 和 TreeSet 三者的异同
    比较HashSet、LinkedHashSet和TreeSet三者的异同HashSet、LinkedHashSet和TreeSet都是Set接口的实现类,都能保证元素唯一,并且都不是线程安全的。HashSet、LinkedHashSet和TreeSet的主要区别在于底层数据结构不同。HashSet的底层数据结构是哈希表(基于HashMap实现)。L......