请输入
菜单

通过Python使用kookeey线路实例及api签名

  • 通过Python配置kookeey代理

打开 kookeey IP 代理平台,假如端口是 http://gate.kookeey.io:15959,账号: kookeey,密码: 12345678 )。

import urllib.request;

proxy = urllib.request.ProxyHandler({'https': 'http://kookeey:12345678@gate.kookeey.info:15959'})
opener = urllib.request.build_opener(proxy)
urllib.request.install_opener(opener)
content = urllib.request.urlopen('https://lumtest.com/myip.json').read();
print(content)


  • 通过Python调用API签名加密
# -*- coding: utf-8 -*-
import time
import base64
import requests
import hmac
import hashlib
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

class user(object):
    def __init__(self):
        super(user, self).__init__()
        self.token = '开发者Token'
        self.accessid = '开发者ID'

class r_method(object):
    def __init__(self):
        super(r_method, self).__init__()

    def get(self):
        self.interface = 'stockv2'
        self.parameter = 'g=1'
        return self
    
    def post(self):
        self.interface = 'setlang'
        self.headers = {
            "Content-Type": "application/x-www-form-urlencoded"
        }
        self.parameter = 'lang=zh-CN'
        return self


class KEKPROXY(object):
    def __init__(self):
        super(KEKPROXY, self).__init__()
        self.session = requests.session()
        self.user = user()
        self.r_method = r_method()

    def get_proxy(self):
        ti = str(int(time.time())) 
        method = self.r_method.get()
        param = method.parameter if hasattr(method, 'parameter') and method.parameter else None

        if param:
            sign_str = f'{param}&ts={ti}'
        else:
            sign_str = f'ts={ti}'

        token_ = base64.b64encode(
            hmac.new(
                self.user.token.encode('utf-8'),
                sign_str.encode('utf-8'),
                hashlib.sha1
            ).hexdigest().encode('utf-8')
        ).decode('utf-8')

        # 判断是否传参
        if param:
            url = f'https://www.kookeey.com/clientapi/{method.interface}?accessid={self.user.accessid}&signature={token_}&{param}&ts={ti}'
        else:
            url = f'https://www.kookeey.com/clientapi/{method.interface}?accessid={self.user.accessid}&signature={token_}&ts={ti}'

        proxy = self.session.get(url, verify=False).text
        print(proxy)

    def post_proxy(self):
        ti = str(int(time.time()))

        r_post = self.r_method.post()


        token_ = base64.b64encode(
            hmac.new(
                self.user.token.encode(),
                f'ts={ti}'.encode(),
                hashlib.sha1
            ).hexdigest().encode()
        ).decode()

        key, value = r_post.parameter.split('=')

        proxy = self.session.post(
            f'https://www.kookeey.com/clientapi/{r_post.interface}?accessid={self.user.accessid}&signature={token_}&ts={ti}',
            headers=r_post.headers,
            data={key: value},
            verify=False
        ).text

        print(proxy)

if __name__ == '__main__':
    KEKPROXY().get_proxy()
    # KEKPROXY().post_proxy()


上一个
代码使用kookeey线路实例
下一个
通过Go使用kookeey线路实例及api签名
最近修改: 2026-04-24