# juliang-nodejs-sdk
**Repository Path**: juliangip/juliang-nodejs-sdk
## Basic Information
- **Project Name**: juliang-nodejs-sdk
- **Description**: 巨量IP - API SDK for NodeJS
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://www.juliangip.com/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-10-22
- **Last Updated**: 2024-11-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: SDK
## README
## 巨量IP API SDK - Node.js
通过SDK可快速调用巨量IP支持的API接口, [查看详情](https://gitee.com/juliangip/juliang-nodejs-sdk/blob/master/README.md)
### 简介
巨量IP - Api SDK (NodeJs 版本)
### 依赖环境
1. sync-request
```NodeJs
npm install sync-request
```
2. express (运行测试案例时需要安装,如果不需要测试则无需安装)
```NodeJS
npm install express
```
3. 从[巨量IP](https://www.juliangip.com/)购买相应的产品
4. 获取订单的[trade_no(业务号)](http://www.juliangip.com/users/product/time) 和对应的 [Key(业务秘钥)](http://www.juliangip.com/users/product/quantity)
### 获取安装
安装nodeJs SDK之前, 请先获取订单所对应的业务编号(trade_no)和业务对应的秘钥(Key). 订单编号时用于识别具体业务订单, Key 则是用于加密签名字符串和服务器端用于验证签名一致性的秘钥. 因此,业务秘钥必须严格保管,避免泄露,一旦泄露,请立即前往个人中心 ——>[产品管理](http://www.juliangip.com/users/product/time) 页面进行对应业务订单的秘钥重置.
### 通过npm安装(推荐)
您可以通过npm将SDK安装到您的项目中:
```NodeJs
npm install juliangip
```
如果您的项目环境未配置npm,可前往[NodeJs](https://nodejs.org/zh-cn/) 官网下载并安装合适的NodeJs版本,然后可参考下方示例进行安装:
- Ubuntu 安装npm :
```shell
1.获取安装源,在终端中执行
curl -sL https://deb.nodesource.com/setup_17.0.1 | sudo -E bash -
2.等待源添加完毕后在执行
sudo apt-get install -y nodejs
3.验证安装
node -v:查看node版本
```
- CentOS安装npm :
```shell
1.使用wget拉取源文件
wget https://npm.taobao.org/mirrors/node/v17.0.1/node-v17.0.1-linux-x64.tar.gz
2.执行tar -zxvf 执行解压缩命令
tar -xvf node-v17.0.1-linux-x64.tar.gz
3.验证安装
node -v:查看node版本
```
- MacOS安装npm :
```shell
1.打开终端,执行以下命令安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装node
brew install node //sudo 使用admin权限
3.验证安装
node -v:查看node版本
```
### 通过源码安装
前往Gitee代码托管地址 [巨量云 - NodeJs-sdk](https://gitee.com/juliangip/juliang-nodejs-sdk.git) 下载最新的代码,解压后放置在需要使用的工程目录下即可
### 启动命令
```javascript
$ cd sdk
$ npm i sync-request
$ npm i express
$ node API/server.js (执行开启http端口监听的js文件)
```
### 示例
```js
/**
* juliang --node sdk使用示例
* @author http://www.juliangip.com
*/
//导入 Node.js Web 应用程序开发框架 -- express
const express = require('express');
const app = express();
//导入巨量IP -- sdk
const juliang = require('juliangip');
//创建Api服务调用对象client
const client = new juliang.client();
var result = ''; //用于接收返回值的参数
//初始化服务调用所需公共必要参数
const user_id = '用户ID';
const accessKey = 'API秘钥';
const dyTradeNo = "动态代理 -- 业务编号";
const dyKey = "业务秘钥";
//启动程序监听3600端口<如端口冲突 , 可自行修改端口>
app.listen(3600,()=>{
console.log('server start --> port : 3600')
})
app.get('/',(req,resp)=> {
resp.send('巨量IP API 示例')
})
app.get('/users/balance',(req,resp)=>{
/**
* 公共接口 -- 获取账户余额
* @param {userId,AccessKey} {用户ID,秘钥}
* @param {HTTP请求方式} method
*/
result = client.userBalance({userId: user_id,AccessKey: accessKey});
console.log(result);
resp.send(result);
})
app.use('/dynamic/getIps',(req,resp)=> {
/**
* 动态代理 -- 提取代理IP示例
* @param {业务秘钥} key <必传参数>
* @param {业务号} trade_no <必传参数>
* @param {提取数量} num <必传参数>
* @param {可选参数
* pt : 代理类型,
* result_type : 返回类型('text' | 'json' | 'xml')
* split : 结果分隔符,
* city_name : 地区名称,
* city_code : 邮政编码,
* ip_remain : 剩余可用时长,
* area : 筛选地区,
* no_area : 排除地区,
* ip_seg : 筛选IP段,
* no_ip_seg : 排除IP段,
* isp : 运营商筛选,
* filter : IP去重
* } otherParams <可选参数>
* @param {HTTP请求方式} method
*/
result = client.dynamicGetIps(dyKey,dyTradeNo,5,{pt: 2,result_type: 'json',city_name: 1});
console.log(result);
resp.send(result);
})
```
您可以在API下的[server.js](https://gitee.com/juliangip/juliang-nodejs-sdk/blob/master/sdk/API/server.js) 文件中找到完整的示例
### 参考资料
- [产品文档](http://www.juliangip.com/help/product/dynamic/)
- [快速入门](http://www.juliangip.com/help/apply/rm/)
- [API接口](http://www.juliangip.com/help/api/api/)
- [开发者指南](http://www.juliangip.com/help/dev/dev/)