Exemple #1
0
    def get_proxy(self,
                  num=None,
                  order_level=OpsOrderLevel.NORMAL,
                  sign_type="simple",
                  **kwargs):
        """获取开放代理, 默认不需要鉴权
           :param num: 提取数量, sign_type: 鉴权方式, order_level: 开放代理订单类型
           :param kwargs: 其他关键字参数,具体有那些参数请查看帮助中心api说明
           :return 若为json格式, 则返回data中proxy_list部分, 即proxy列表, 否则原样返回
        """
        if num is None:
            raise KdlNameError("miss param: num")
        if not isinstance(num, int):
            KdlTypeError("num should be a integer")
        endpoint = EndPoint.GetOpsProxyNormalOrVip.value
        if order_level == OpsOrderLevel.SVIP:
            endpoint = EndPoint.GetOpsProxySvip.value
        if order_level == OpsOrderLevel.PRO:
            endpoint = EndPoint.GetOpsProxyEnt.value

        params = self._get_params(endpoint,
                                  num=num,
                                  sign_type=sign_type,
                                  **kwargs)
        res = self._get_base_res("GET", endpoint, params)
        if isinstance(res, dict):
            return res['data']['proxy_list']
        return res
Exemple #2
0
 def check_ops_valid(self, proxy=None, sign_type="simple", **kwargs):
     """检测开放代理有效性, 强制签名验证
        :return 返回data部分, 格式为由'proxy: True/False'组成的列表
     """
     if not proxy:
         raise KdlNameError("miss param: proxy")
     if not (isinstance(proxy, list) or isinstance(proxy, tuple) or isinstance(proxy, str)):
         raise KdlTypeError("proxy should be a instance of list or tuple or str")
     if isinstance(proxy, list) or isinstance(proxy, tuple):
         proxy = ','.join(proxy)
     endpoint = EndPoint.CheckOpsValid.value
     params = self._get_params(endpoint, proxy=proxy, sign_type=sign_type)
     res = self._get_base_res("GET", endpoint, params)
     if isinstance(res, dict):
         return res['data']
     return res
Exemple #3
0
 def get_kps(self, num=None, sign_type="simple", **kwargs):
     """获取独享代理, 默认"simple"鉴权
        :param num: 提取数量, sign_type: 鉴权方式
        :param kwargs: 其他关键字参数,具体有那些参数请查看帮助中心api说明
        :return 若为json格式, 则返回data中proxy_list部分, 即proxy列表, 否则原样返回
     """
     if num is None:
         raise KdlNameError("miss param: num")
     if not isinstance(num, int):
         KdlTypeError("num should be a integer")
     endpoint = EndPoint.GetKpsProxy.value
     params = self._get_params(endpoint, num=num, sign_type=sign_type, **kwargs)
     res = self._get_base_res("GET", endpoint, params)
     if isinstance(res, dict):
         return res['data']['proxy_list']
     return res
Exemple #4
0
 def set_ip_whitelist(self, iplist=None, sign_type="simple"):
     """ 设置订单的ip白名单, 强制签名验证
         :param iplist参数类型为 str 或 list 或 tuple
                如果为字符串则ip之间用逗号隔开
         :return 成功则返回True, 否则抛出异常
     """
     if iplist is None:
         raise KdlNameError("miss param: iplist")
     if not (isinstance(iplist, list) or isinstance(iplist, tuple) or isinstance(iplist, str)):
         raise KdlTypeError("iplist type error, should be a instance of list or tuple or str")
     if isinstance(iplist, list) or isinstance(iplist, tuple):
         iplist = ','.join(iplist)
     endpoint = EndPoint.SetIpWhitelist.value
     params = self._get_params(endpoint, iplist=iplist, sign_type=sign_type)
     self._get_base_res("POST", endpoint, params)
     return True
Exemple #5
0
 def get_tps(self, num=None, sign_type="simple", **kwargs):
     """获取隧道代理IP, 默认"simple"鉴权 https://www.kuaidaili.com/doc/api/gettps/
        :param num : 提取数量,int类型
        :param kwargs: 其他关键字参数,具体有那些参数请查看帮助中心api说明
        :return 若为json格式, 则返回data中proxy_list部分, 即proxy列表, 否则原样返回
     """
     if num is None:
         raise KdlNameError("miss param: num")
     if not isinstance(num, int):
         KdlTypeError("num should be a integer")
     endpoint = EndPoint.GetTps.value
     params = self._get_params(endpoint, num=num, sign_type=sign_type, **kwargs)
     res = self._get_base_res("GET", endpoint, params)
     if isinstance(res, dict):
         return res['data']['proxy_list']
     return res
Exemple #6
0
 def get_dps_valid_time(self, proxy=None, sign_type="simple", **kwargs):
     """获取私密代理ip有效时间
        :param proxy: 私密代理列表, 格式: IP:PORT, eg: 113.120.61.166:22989,122.4.44.132:21808
        :param sign_type: 认证方式
        :return: 返回data部分, 格式为由'proxy: seconds(剩余秒数)'组成的列表
     """
     if not proxy:
         raise KdlNameError("miss param: proxy")
     if not (isinstance(proxy, list) or isinstance(proxy, tuple) or isinstance(proxy, str)):
         raise KdlTypeError("proxy should be a instance of list or tuple or str")
     if isinstance(proxy, list) or isinstance(proxy, tuple):
         proxy = ','.join(proxy)
     endpoint = EndPoint.GetDpsValidTime.value
     params = self._get_params(endpoint, proxy=proxy, sign_type=sign_type)
     res = self._get_base_res("GET", endpoint, params)
     if isinstance(res, dict):
         return res['data']
     return res