# kdl

> 快代理node - api SDK

Latest version **1.2.5** (published 2022-10-10) · ISC license · 0 weekly downloads

## Install

```sh
npm install kdl
pnpm add kdl
yarn add kdl
bun add kdl
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.5 |
| Published | 2022-10-10 |
| First published | 2019-11-14 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 42.6 KB |
| Known vulnerabilities | 0 (+24 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 77 |
| Author | kuaidaili |
| Maintainers | kuaidaili |

## Links

- npm: https://www.npmjs.com/package/kdl
- Repository: https://github.com/kuaidaili/python-sdk.git#master
- Homepage: https://github.com/kuaidaili/python-sdk/tree/master#readme
- Issues: https://github.com/kuaidaili/python-sdk/issues
- npm.io page: https://npm.io/package/kdl

## Dependencies (1)

- [axios](https://npm.io/package/axios.md) 0.21.1

## Recent versions

- 1.2.5 (latest) — 2022-10-10
- 1.2.4 — 2021-08-11
- 1.2.3 — 2021-08-11
- 1.2.2 — 2021-08-11
- 1.1.9 — 2020-05-09
- 1.1.8 — 2020-05-09
- 1.1.7 — 2020-04-30
- 1.1.6 — 2020-04-30
- 1.2.0 — 2020-04-22
- 1.1.1 — 2019-11-23
- 1.1.0 — 2019-11-14

## README

# 简介
快代理node - api SDK

# 依赖环境
1. axios 
   ```
   npm install axios
   ```
2. 从[快代理](https://www.kuaidaili.com)购买相应产品

3. [获取订单的`secret_id`和`secret_key`](https://www.kuaidaili.com/usercenter/api/secret/)

# 获取安装
安装 node SDK 前，请先获取订单对应的api密钥。secret_id是用于标识订单，secret_key 是用于加密签名字符串和服务器端验证签名字符串的密钥。secret_key 必须严格保管，避免泄露。

## 通过npm安装(推荐)
您可以通过`npm`将SDK安装到您的项目中：
```
npm install kdl
```
如果您的项目环境尚未安装`npm`，可参考：
* Ubuntu/Debian安装npm：`sudo apt-get install nodejs`   npm将随着node一起安装
* CentOS安装npm：`yum   install nodejs `  npm将随着node一起安装
* MacOS安装npm: `brew install node` npm将随着node一起安装

## 通过源码包安装
前往 [Github 代码托管地址](https://github.com/kuaidaili/node.js-sdk/tree/master/api-sdk) 下载最新代码，解压之后放在您工程的目录下。

## 示例
以私密代理订单使用为例
``` javascript
/**
 * @file 私密代理使用示例
 * 接口鉴权说明：
 *   目前支持的鉴权方式有 "token" 和 "hmacsha1" 两种，默认使用 "token"鉴权。
 *   所有方法均可添加关键字参数signType修改鉴权方式。
 * @author www.kuaidaili.com
 */

const Client = require('../kdl/client');
const Auth = require('../kdl/auth');
auth = new Auth('secret_id','secret_key');
client = new Client(auth);

// 获取订单到期时间
client.getOrderExpireTime('token').then(
    value => {
        console.log(value);
    }
);

/**
 * 获取User-Agent, 返回ua列表
 * 参数说明:{
 * "dt":"系统类型(pc,mobile,pad)",
 * "browser":"浏览器(chrome,ie,firefox,weixin)",
 * "platform":"系统类型(win,mac,linux,ios)"
 * }
 */
client.getUA(10,'token',otherParams={"dt":"pc","browser":"chrome","platform":"win"}).then(
    value => {
        console.log(value);
        console.log(value.length);
    }
)


// // 获取ip白名单
client.getIpWhitelist('hmacsha1').then(
    value => {
        console.log(value);
    }
);
// 设置白名单 参数为字符串。如下  ,如果为参数不加，则会设置为本地ip地址。
client.setIpWhitelist().then(value => {});
//client.setIpWhitelist("171.113.244.55,171.113.244.41",'hmacsha1').then(value => {});

// 提取私密代理ip
// 构造请求参数。具体看
// https://www.kuaidaili.com/doc/api/getdps/
params = {
    format:'json',
    pt:2,
    area:'北京,上海,广东',
};
client.getDpsProxy(5,'hmacsha1',params).then(
    value => {
        console.log(value);
    }
);

// 检测dps_proxy的有效性
params = {
    format:'json',
    pt:2,
    area:'北京,上海,广东',
};
client.getDpsProxy(5,'hmacsha1',params).then(
    value => {
        client.checkDpsValid(value,'hmacsha1').then(
            value => {
                console.log(value);
            }
        );
    }
);

// 获取私密代理ip的有效时长
params = {
    format:'json',
    pt:2,
    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);
});


// 获取指定订单访问代理IP的鉴权信息。
// 鉴权信息包含用户名密码，用于请求私密代理/独享代理/隧道代理时进行身份验证。
// 参考：https://www.kuaidaili.com/doc/api/getproxyauthorization/
client.getProxyAuthorization(1,'token').then(
    value => {
        console.log(value);
    }
)
```
您可以在examples目录下找到更详细的示例

## 参考资料

* [查看API列表](https://www.kuaidaili.com/doc/api/)
* [了解API鉴权](https://www.kuaidaili.com/doc/api/auth/)

---
_Source: https://npm.io/package/kdl · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
