本文档包含使用快代理sdk并发送代理请求的代码样例,供开发者参考。

代码样例使用说明

  1. 代码样例不能直接运行,因为代码中的代理服务器、订单号、apikey、用户名username、密码password都是虚构的,您替换成自己真实的信息就可以正常运行了。
  2. 代码样例正常运行所需的运行环境和注意事项在样例末尾均有说明,使用前请仔细阅读。
  3. 使用代码样例过程中遇到问题请,我们会为您提供尊龙棋牌官方版的技术支持。

python

开放代理使用

开放代理使用样例python3.6通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , pip install kdl 或者
# -*- coding: utf-8 -*-
"""开放代理使用示例
   接口鉴权说明:
   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
   所有方法均可添加关键字参数sign_type修改鉴权方式。
"""
import sys
import kdl
auth = kdl.auth("test_order_id", "test_api_key")
client = kdl.client(auth)
# 获取订单到期时间, 返回时间字符串
expire_time = client.get_order_expire_time()
print("expire time", expire_time)
# 提取开放代理ip, 第一个参数为提取的数量, 其他参数以关键字参数的形式传入(不需要传入signature和timestamp)
# 具体有哪些参数请参考帮助中心: "https://help.kuaidaili.com/api/getdps/"
# 返回ip列表
# 注意:若您使用的是python2, 且在终端调用,或在文件中调用且没有加 "# -*- coding: utf-8 -*-" 的话
# 传入area参数时,请传入unicode类型,如 area=u'北京,上海'
# 若您是开放代理svip订单,请传入order_level='svip', 若您是开放代理专业版订单,请传入order_level='ent'
ips = client.get_proxy(4, sign_type='simple', order_level='svip', format='json', pt=2, area='北京,上海,广东')
print("ops proxy: ", ips)
# 检测开放代理有效性
ips = client.get_proxy(4, sign_type='simple', order_level='svip', format='json', pt=2, area='北京,上海,广东')
valids = client.check_ops_valid(ips)
print("valids: ", valids)

私密代理使用

私密代理使用样例python3.6通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , pip install kdl 或者
# -*- coding: utf-8 -*-
"""私密代理使用示例
   接口鉴权说明:
   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
   所有方法均可添加关键字参数sign_type修改鉴权方式。
"""
import kdl
auth = kdl.auth("test_order_id", "test_api_key")
client = kdl.client(auth)
# 获取订单到期时间, 返回时间字符串
expire_time = client.get_order_expire_time()
print("expire time", expire_time)
# 获取ip白名单, 返回ip列表
ip_whitelist = client.get_ip_whitelist()
print("ip whitelist", ip_whitelist)
# 设置ip白名单,参数类型为字符串或列表或元组
# 成功则返回true, 否则抛出异常
client.set_ip_whitelist([])
client.set_ip_whitelist("171.113.244.40,171.113.244.41")
print(client.get_ip_whitelist())
client.set_ip_whitelist(tuple())
# 提取私密代理ip, 第一个参数为提取的数量, 其他参数以关键字参数的形式传入(不需要传入signature和timestamp)
# 具体有哪些参数请参考帮助中心: "https://www.kuaidaili.com/doc/api/getdps/"
# 返回ip列表
# 注意:若您使用的是python2, 且在终端调用,或在文件中调用且没有加 "# -*- coding: utf-8 -*-" 的话
# 传入area参数时,请传入unicode类型,如 area=u'北京,上海'
ips = client.get_dps(2, sign_type='hmacsha1', format='json', pt=2, area='北京,上海,广东')
print("dps proxy: ", ips)
# 检测私密代理有效性: 返回 ip: true/false 组成的dict
ips = client.get_dps(2, sign_type='simple', format='json')
valids = client.check_dps_valid(ips)
print("valids: ", valids)
# 获取私密代理剩余时间: 返回 ip: seconds(剩余秒数) 组成的dict
ips = client.get_dps(5, format='json')
seconds = client.get_dps_valid_time(ips)
print("seconds: ", seconds)
# 获取计数版ip余额
balance = client.get_ip_balance(sign_type='hmacsha1')
print("balance: ", balance)

独享代理使用

独享代理使用样例python3.6通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , pip install kdl 或者
# -*- coding: utf-8 -*-
"""独享代理使用示例
   接口鉴权说明:
   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
   所有方法均可添加关键字参数sign_type修改鉴权方式。
"""
import kdl
auth = kdl.auth("test_order_id", "test_api_key")
client = kdl.client(auth)
# 获取订单到期时间, 返回时间字符串
expire_time = client.get_order_expire_time()
print("expire time", expire_time)
# 获取ip白名单, 返回ip列表
ip_whitelist = client.get_ip_whitelist()
print("ip whitelist", ip_whitelist)
# 设置ip白名单,参数类型为字符串或列表或元组
# 成功则返回true, 否则抛出异常
client.set_ip_whitelist([])
client.set_ip_whitelist("127.0.0.1, 192.168.0.139")
print(client.get_ip_whitelist())
client.set_ip_whitelist(tuple())
# 提取独享代理ip, 第一个参数为提取的数量, 其他参数以关键字参数的形式传入(不需要传入signature和timestamp)
# 具体有哪些参数请参考帮助中心: "https://www.kuaidaili.com/doc/api/getdps/"
# 返回ip列表
# 注意:若您使用的是python2, 且在终端调用,或在文件中调用且没有加 "# -*- coding: utf-8 -*-" 的话
# 传入area参数时,请传入unicode类型,如 area=u'北京,上海'
ips = client.get_kps(2, sign_type='hmacsha1', format='json', pt=2, area='北京,上海,广东')
print("kps proxy: ", ips)

隧道代理使用

隧道代理使用样例python3.6通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , pip install kdl 或者
# -*- coding: utf-8 -*-
"""隧道代理使用示例
   接口鉴权说明:
   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
   所有方法均可添加关键字参数sign_type修改鉴权方式。
"""
import kdl
auth = kdl.auth("test_order_id","test_api_key")
client = kdl.client(auth)
expire_time = client.get_order_expire_time()
print("expire time:",expire_time)
# 获取ip白名单, 返回ip列表
ip_whitelist = client.get_ip_whitelist()
print("ip whitelist:", ip_whitelist)
# 设置ip白名单,参数类型为字符串或列表或元组
# 成功则返回true, 否则抛出异常
client.set_ip_whitelist([])
client.set_ip_whitelist("171.113.244.40")
print(client.get_ip_whitelist())
# 显示隧道代理当前的ip
ip = client.tps_current_ip()
print("current_ip:",ip)
# 改变当前隧道ip
new_ip = client.change_tps_ip()
print("new_ip:",new_ip)

api接口提取代理ip和代理使用结合

requests python3.6通过

使用提示

  • 基于的代码样例支持访问http,https网页,推荐使用
  • requests不是python原生库,需要安装才能使用: pip install requests
  • 请先导入kdl
  • 导入 kdl 包 , pip install kdl 或者
# -*- coding: utf-8 -*-
"""api接口提取代理ip和代理使用结合"""
import requests
import kdl
import random
auth = kdl.auth("977173347636224", "ifmxm8rgg946t0uidlypvn3j04x4d954")
client = kdl.client(auth)
# 提取私密代理ip, 第一个参数为提取的数量, 其他参数以关键字参数的形式传入(不需要传入signature和timestamp)
# 具体有哪些参数请参考帮助中心: "https://www.kuaidaili.com/doc/api/getdps/"
# 返回ip列表
# 注意:若您使用的是python2, 且在终端调用,或在文件中调用且没有加 "# -*- coding: utf-8 -*-" 的话
# 传入area参数时,请传入unicode类型,如 area=u'北京,上海'
ips = client.get_dps(2, sign_type='hmacsha1', format='json', pt=1, area='北京,上海,广东')
# print("dps proxy: ", ips)

# 要访问的目标网页
page_url = "http://dev.kdlapi.com/testproxy/"
# 代理服务器
proxy = random.choice(ips)
# 用户名和密码(私密代理/独享代理)
username = "username"
password = "password"
proxies = {
    "http": "http://%(user)s:%(pwd)s@%(proxy)s/" % {'user': username, 'pwd': password, 'proxy': proxy},
    "https": "http://%(user)s:%(pwd)s@%(proxy)s/" % {'user': username, 'pwd': password, 'proxy': proxy}
}
headers = {
    "accept-encoding": "gzip",  # 使用gzip压缩传输数据让访问更快
}
res = requests.get(url=page_url, proxies=proxies, headers=headers)
print(res.status_code)  # 获取reponse的返回码
if res.status_code == 200:
    print(res.content.decode('utf-8')) # 获取页面内容

java

开放代理使用

开放代理使用样例 jdk- 11.05 通过

使用提示

  • 导入 kdl 包 , maven安装 或者
import kdl.auth;
import kdl.client;
import java.util.arrays;
import java.util.hashmap;
import java.util.map;
/**
 * 开放代理使用示例
 * 接口鉴权说明:
 * 目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 */
public class useops {
    public static void main(string[] args) throws exception {
        auth auth = new auth("yourorderid", "yourapikey");
        client client = new client(auth);
        // ---------------------------------------------------------------------------
        // 获取订单到期时间,默认simple鉴权, 返回时字符串
        string expire_time = client.get_order_expire_time();
        system.out.println("expire_time: "  expire_time);
        // 获取订单到期时间, 用hmacsha1鉴权
        expire_time = client.get_order_expire_time("hmacsha1");
        system.out.println("expire_time using hmacsha1: "  expire_time);
        // ----------------------------------------------------------------------------
        /* 获取开放代理, 第一个参数为提取数量, int类型, 必填。
         * 第二个参数为order_level, string类型, 默认为dev, 如果您是svip订单, 请传入"svip", 如果您是企业版订单, 请传入"ent"
         * 第三个参数为其他参数, map类型, 可选。
         * 具体有哪些参数可参考帮助中心api说明: https://help.kuaidaili.com/api/intro/
         * 返回string[] 代理数组
         **/
        string[] ops_proxies = client.get_proxy(10, "svip");
        system.out.println("ops_proxies: "  arrays.tostring(ops_proxies));
        map<string, object> params = new hashmap<string, object>();
        params.put("sign_type", "hmacsha1");
        params.put("area", "北京, 上海, 云南, 广州");
        ops_proxies = client.get_proxy(10, "svip", params);
        system.out.println("ops_proxies using other params: "  arrays.tostring(ops_proxies));
        // ----------------------------------`-----------------------------------------------
        // 检测开放代理有效性, 默认simple鉴权, 返回 map 类型, 格式为 proxy: true/false
        map<string, boolean> valids = client.check_ops_valid(ops_proxies, "hmacsha1");
        system.out.println("osp valids: "  arrays.tostring(valids.entryset().toarray()));
    }
}

私密代理使用

私密代理使用样例 jdk- 11.05 通过

使用提示

  • 导入 kdl 包 , maven安装 或者
import kdl.auth;
import kdl.client;
import java.util.arrays;
import java.util.hashmap;
import java.util.map;
/**
 * 私密代理使用示例
 * 接口鉴权说明:
 * 目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 */
public class usedps {
    public static void main(string[] args) throws exception {
        auth auth = new auth("yourorderid", "yourapikey");
        client client = new client(auth);
        // ---------------------------------------------------------------------------
        // 获取订单到期时间,默认simple鉴权, 返回时字符串
        string expire_time = client.get_order_expire_time();
        system.out.println("expire_time: "  expire_time);
        // 获取订单到期时间, 用hmacsha1鉴权
        expire_time = client.get_order_expire_time("hmacsha1");
        system.out.println("expire_time using hmacsha1: "  expire_time);
        // ----------------------------------------------------------------------------
        // 获取ip白名单, 默认simple鉴权, 返回string[] ip数组
        string[] ip_whitelist = client.get_ip_whitelist();
        system.out.println("ip_whitelist: "  arrays.tostring(ip_whitelist));
        // 获取ip白名单, hmacsha1方式鉴权
        ip_whitelist = client.get_ip_whitelist("hmacsha1");
        system.out.println("ip_whitelist using hmacsha1: "  arrays.tostring(ip_whitelist));
        // -------------------------------------------------------------------------------
        // 设置ip白名单, 无返回值, 默认simple鉴权,要设置的ip白名单可为字符串(ip之间用逗号隔开)或数组
        client.set_ip_whitelist("127.0.0.1, 192.168.0.139");
        client.set_ip_whitelist("", "hmacsha1");
        client.set_ip_whitelist(new string[]{"127.0.0.1", "192.168.0.139"}, "hmacsha1");
        client.set_ip_whitelist(new string[]{});
        // --------------------------------------------------------------------------------
        /* 获取私密代理, 第一个参数为提取数量, int类型, 必填。 第二个参数为其他参数, map类型, 可选。
         * 具体有哪些参数可参考帮助中心api说明: https://help.kuaidaili.com/api/intro/
         * 返回string[] 代理数组
         **/
        string[] dps_proxies = client.get_dps(10);
        system.out.println("dps_proxies: "  arrays.tostring(dps_proxies));
        map<string, object> params = new hashmap<string, object>();
        params.put("sign_type", "hmacsha1");
        params.put("area", "北京, 上海, 云南, 广州");
        dps_proxies = client.get_dps(10, params);
        system.out.println("dps_proxies using other params: "  arrays.tostring(dps_proxies));
        // ---------------------------------------------------------------------------------
        // 检测私密代理有效性, 默认simple鉴权, 返回 map 类型, 格式为 proxy: true/false
        map<string, boolean> valids = client.check_dps_valid(dps_proxies, "hmacsha1");
        system.out.println("dsp valids: "  arrays.tostring(valids.entryset().toarray()));
        // --------------------------------------------------------------------------------
        // 获取计数版订单ip余额, 返回ip余额, int类型
        int ip_balance = client.get_ip_balance();
        system.out.println("ip_balance: "  ip_balance);
        // ----------------------------------------------------------------------------------
        // 获取私密代理剩余时间(秒数), 返回 map 类型, 格式为 proxy: seconds(秒数)
        string[] ips = client.get_dps(5)
        map<string, integer> seconds = client.get_dps_valid_time(ips)
        system.out.println("seconds: "  arrays.tostring(seconds.entryset().toarray()));
    }
}

独享代理使用

独享代理使用样例 jdk- 11.05 通过

使用提示

  • 导入 kdl 包 , maven安装 或者
import kdl.auth;
import kdl.client;
import java.util.arrays;
import java.util.hashmap;
import java.util.map;
/**
 * 独享代理使用示例
 * 接口鉴权说明:
 * 目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 */
public class usekps {
    public static void main(string[] args) throws exception {
        auth auth = new auth("yourorderid", "yourapikey");
        client client = new client(auth);
        // ---------------------------------------------------------------------------
        // 获取订单到期时间,默认simple鉴权, 返回时字符串
        string expire_time = client.get_order_expire_time();
        system.out.println("expire_time: "  expire_time);
        // 获取订单到期时间, 用hmacsha1鉴权
        expire_time = client.get_order_expire_time("hmacsha1");
        system.out.println("expire_time using hmacsha1: "  expire_time);
        // ----------------------------------------------------------------------------
        // 获取ip白名单, 默认simple鉴权, 返回string[] ip数组
        string[] ip_whitelist = client.get_ip_whitelist();
        system.out.println("ip_whitelist: "  arrays.tostring(ip_whitelist));
        // 获取ip白名单, hmacsha1方式鉴权
        ip_whitelist = client.get_ip_whitelist("hmacsha1");
        system.out.println("ip_whitelist using hmacsha1: "  arrays.tostring(ip_whitelist));
        // -------------------------------------------------------------------------------
        // 设置ip白名单, 无返回值, 默认simple鉴权,要设置的ip白名单可为字符串(ip之间用逗号隔开)或数组
        client.set_ip_whitelist("127.0.0.1, 192.168.0.139");
        client.set_ip_whitelist("", "hmacsha1");
        client.set_ip_whitelist(new string[]{"127.0.0.1", "192.168.0.139"}, "hmacsha1");
        client.set_ip_whitelist(new string[]{});
        // --------------------------------------------------------------------------------
        /* 获取独享代理, 第一个参数为提取数量, int类型, 必填。 第二个参数为其他参数, map类型, 可选。
         * 具体有哪些参数可参考帮助中心api说明: https://help.kuaidaili.com/api/intro/
         * 返回string[] 代理数组
         **/
        string[] kps_proxies = client.get_kps(10);
        system.out.println("kps_proxies: "  arrays.tostring(kps_proxies));
        map<string, object> params = new hashmap<string, object>();
        params.put("sign_type", "hmacsha1");
        params.put("area", "北京, 上海, 云南, 广州");
        kps_proxies = client.get_kps(10, params);
        system.out.println("kps_proxies using other params: "  arrays.tostring(kps_proxies));
    }
}

api接口提取代理ip和代理使用结合

api接口提取代理ip和代理使用结合 jdk- 11.05 通过

使用提示

  • 导入 kdl 包 , maven安装 或者
 /**
 * 使用jdk原生库请求代理服务器
 * 请求http和https网页均适用
 * 运行环境要求: jdk >= 1.6 , kdl
 */
package com.demo;
import java.util.hashmap;
import java.util.map;
import kdl.auth;
import kdl.client;
import java.util.arrays;
import java.util.hashmap;
import java.util.map;
/**
 * 使用jdk原生库请求代理服务器
 * 请求http和https网页均适用
 * 运行环境要求: jdk >= 1.6
 */
public class testproxy {
    private static string pageurl = "http://www.baidu.com/"; //要访问的目标网页
    private static string proxyip = "113.121.37.158"; //代理服务器ip
    private static string proxyport = "16277"; //代理服务器端口
    private static string username = "username"; //用户名
    private static string password = "password"; //密码
    public static void main(string[] args)  throws exception {
        auth auth = new auth("957355049363839", "31s5fmdbutzfqtzhuuv3yhn6qwww7a5n");
        client client = new client(auth);
        /* 获取私密代理, 第一个参数为提取数量, int类型, 必填。 第二个参数为其他参数, map类型, 可选。
         * 具体有哪些参数可参考帮助中心api说明: https://help.kuaidaili.com/api/intro/
         * 返回string[] 代理数组
         */
        string[] dps_proxies = client.get_dps(1);
        string iphost = dps_proxies[0];
        string [] ipandhost = iphost.split(":");
        testproxy.proxyip = ipandhost[0];
        testproxy.proxyport = ipandhost[1];
        httprequest request = new httprequest();
        map<string, string> params = new hashmap<string, string>();
        map<string, string> headers = new hashmap<string, string>();
        headers.put("accept-encoding", "gzip"); //使用gzip压缩传输数据让访问更快
        map<string, string> proxysettings = new hashmap<string, string>();
        proxysettings.put("ip", proxyip);
        proxysettings.put("port", proxyport);
        proxysettings.put("username", username);
        proxysettings.put("password", password);
        try{
            httpresponse response = request.sendget(pageurl, params, headers, proxysettings);
            system.out.println(response.getcode());
            system.out.println(response.getcontent());
        }
        catch (exception e) {
            e.printstacktrace();
        }
    }
}

node.js

开放代理使用

开放代理使用样例 node -v12通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , npm install kdl 或者
 /**
 * @file 开放代理使用示例
 * 接口鉴权说明:
 *   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 *   所有方法均可添加关键字参数signtype修改鉴权方式。
 * @author www.kuaidaili.com
 */
const client = require('../kdl/client');//引入的方式会因为导入kdl包方式的方式而略有不同
const auth = require('../kdl/auth');
auth = new auth('yourorderid','yourapikey');
client = new client(auth);
// 获取订单返回时间,返回时间字符串
client.getorderexpiretime().then(
    value => {
        console.log(value);
    }
);
client.getorderexpiretime('hmacsha1').then(
    value => {
        console.log(value);
    }
);
// 构造请求参数,详情请访问快代理尊龙棋牌官方版官网api文档
// https://www.kuaidaili.com/doc/api/getproxy/
params = {
    format:'json',
    pt:1,
    area:'北京,上海,广东',
};
client.getopsproxy(4,'svip','hmacsha1', params)
    .then(value => {
       console.log(value);
    });
// 测试验证ip可用性接口。
params = {
    format:'json',
    pt:1,
    area:'北京,上海,广东',
};
client.getopsproxy(4,'svip','hmacsha1', params)
    .then(value => {
        client.checkopsvalid(value,'hmacsha1').then(
            value => {
                console.log(value);
            }
        );
    });

私密代理使用

开放代理使用样例 node -v12通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , npm install kdl 或者
 /**
 * @file 私密代理使用示例
 * 接口鉴权说明:
 *   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 *   所有方法均可添加关键字参数signtype修改鉴权方式。
 * @author www.kuaidaili.com
 */
const client = require('../kdl/client'); //引入的方式会因为导入kdl包方式的方式而略有不同
const auth = require('../kdl/auth');
auth = new auth('yourorderid','yourapikey');
client = new client(auth);
// 获取订单到期时间
client.getorderexpiretime('simple').then(
    value => {
        console.log(value);
    }
);
// 获取ip白名单
client.getipwhitelist('hmacsha1').then(
    value => {
        console.log(value);
    }
);
// 设置白名单 参数为字符串。如下
client.setipwhitelist("171.113.244.24,171.113.244.41", 'hmacsha1').then(value => {});
// 提取私密代理ip
// 构造请求参数。具体看
// https://www.kuaidaili.com/doc/api/getdps/
params = {
    format:'json',
    pt:1,
    area:'北京,上海,广东',
};
client.getdpsproxy(5,'hmacsha1',params).then(
    value => {
        console.log(value);
    }
);
// 检测dps_proxy的有效性
params = {
    format:'json',
    pt:1,
    area:'北京,上海,广东',
};
client.getdpsproxy(5,'hmacsha1',params).then(
    value => {
        client.checkdpsvalid(value,'hmacsha1').then(
            value => {
                console.log(value);
            }
        );
    }
);
// 获取私密代理ip的有效时长
params = {
    format:'json',
    pt:1,
    area:'北京,上海,广东',
};
client.getdpsproxy(5,'hmacsha1',params).then(
    value => {
        client.getdpsvalidtime(value,'hmacsha1').then(
            value => {
                console.log(value);
            }
        );
    }
);
// 获取订单ip提取余额
// 此接口只对按量付费订单和包年包月的集中提取型订单有效:
// 对于按量付费订单,此接口返回的是订单的剩余ip提取额度。
// 对于包年包月的集中提取型订单,此接口返回的是今日剩余的ip提取额度。
client.getipbalance('hmacsha1').then(value => {
    console.log(value);
});

独享代理使用

独享代理使用样例 node -v12通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , npm install kdl 或者
/**
 * @file 独享代理使用示例
 * 接口鉴权说明:
 *   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 *   所有方法均可添加关键字参数signtype修改鉴权方式。
 * @author www.kuaidaili.com
 */
const client = require('../kdl/client');
const auth = require('../kdl/auth');
auth = new auth('yourorderid','yourapikey');
client = new client(auth);
// 获取订单到期时间
client.getorderexpiretime('hmacsha1').then(
    value => {
        console.log(value);
    }
);
// 获取ip白名单
client.getipwhitelist('hmacsha1').then(
    value => {
        console.log(value);
    }
);
// 设置白名单 参数为字符串。如下
client.setipwhitelist("171.113.244.55,171.113.244.41",'hmacsha1').then(value => {});
// 提取独享代理ip
// 构造请求参数。具体看
// https://www.kuaidaili.com/doc/api/getkps/
params = {
    format:'json',
    pt:1,
    area:'北京,上海,广东',
};
client.getkpsproxy(5,'hmacsha1',params).then(
    value => {
        console.log(value);
    }
);

隧道代理使用

隧道代理使用样例 node -v12通过

使用提示

  • 请先导入kdl
  • 导入 kdl 包 , npm install kdl 或者
 /**
 * @file 隧道代理使用示例
 * 接口鉴权说明:
 *   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 *   所有方法均可添加关键字参数signtype修改鉴权方式。
 * @author www.kuaidaili.com
 */
const client = require('../kdl/client');
const auth = require('../kdl/auth');
auth = new auth('yourorderid','yourapikey');
client = new client(auth);
// 获取订单到期时间
client.getorderexpiretime('hmacsha1').then(
    value => {
        console.log(value);
    }
);
// 获取ip白名单
client.getipwhitelist('hmacsha1').then(
    value => {
        //console.log('value的值为:');
        console.log(value);
    }
);
// 设置白名单 参数为字符串。如下
client.setipwhitelist("171.113.244.20,171.113.244.41",'hmacsha1').then(value => {});
// 显示当前隧道代理ip
client.tpscurrentip('hmacsha1').then(value=>{
    console.log(value);
});
// 修改当前隧道代理ip
client.changetpsip('hmacsha1').then(
    value => {
        console.log(value);
    }
);

api接口提取代理ip和代理使用结合

标准库(http,https均适用) node -v12通过

使用提示

  • http,https均适用
  • 请先导入kdl
  • 导入 kdl 包 , npm install kdl 或者
 /**
 * @api接口提取代理ip和代理使用结合
 * 接口鉴权说明:
 *   目前支持的鉴权方式有 "simple" 和 "hmacsha1" 两种,默认使用 "simple"鉴权。
 *   所有方法均可添加关键字参数signtype修改鉴权方式。
 * @author www.kuaidaili.com
 */
const http = require("http");  // 引入内置http模块
const url  = require("url");
//导入 kdl 包 , npm install kdl  或者 github源码下载
const auth = require('../kdl/auth'); //引入的方式会因为导入kdl包方式的方式而略有不同
const client = require('../kdl/client');
auth = new auth('yourorderid','yourapikey');
client = new client(auth);
// 要访问的目标页面
const targeturl = "https://dev.kuaidaili.com/testproxy";
const urlparsed   = url.parse(targeturl);
// 代理验证信息
const username = "yourusername";
const password = "yourpassword";
const base64    = new buffer(username  ":"  password).tostring("base64");
// 提取私密代理ip
// 构造请求参数。具体看
// https://www.kuaidaili.com/doc/api/getdps/
params = {
    format:'json',
    pt:1, //提取类型,这里提取为http代理,2 表示socks代理
};
client.getdpsproxy(1,'hmacsha1',params).then(
    value => {
        console.log(value[0]);
        const options = {
            host    : value[0].split(":")[0], // 分隔出的ip
            port    : value[0].split(":")[1], // 分隔出的port
            path    : targeturl,
            method  : "get",
            headers : {
                "host"                : urlparsed.hostname,
                "proxy-authorization" : "basic "  base64
            }
        };
        http.request(options,  (res) => {
            console.log("got response: "  res.statuscode);
            // 输出返回内容(使用了gzip压缩)
            if (res.headers['content-encoding'] && res.headers['content-encoding'].indexof('gzip') != -1) {
                let zlib = require('zlib');
                let unzip = zlib.creategunzip();
                res.pipe(unzip).pipe(process.stdout);
            } else {
                // 输出返回内容(未使用gzip压缩)
                res.pipe(process.stdout);
            }
        })
            .on("error", (err) => {
                console.log(err);
            })
            .end()
        ;
    }
);
联系尊龙棋牌官方版
  • 售前在线咨询
    咨询享免费测试,专业工程师提供尊龙棋牌官方版的技术支持
  • 客服热线
     周一至周六 9:00-18:00
  • 提交工单
    您的每一次反馈我们都认真对待
  • 客服微信 & qq
    客服微信:,客服qq:
  • 企业客户通道
    提交需求后专业的售前工程师为您提供服务