Pangolin产品使用手册

欢迎使用Pangolin的产品与方案.我们致力于提供更好的动态数据传输方案及技术平台. 我们全新升级的产品,进一步提升系统弹性与可扩展性,避免依赖某一技术节点导致单点失败等问题.我们的创新架构,允许客户进行更灵活的部署,在保障网络数据传输性能 带宽利用率最大化的同时,确保了数据内容的隐私性. 请详细阅读此手册,以顺利完成系统部署及使用,充分利用Pangolin的卓越性能,我们开始吧.

欢迎使用Pangolin的产品与方案.我们致力于提供更好的动态数据传输方案及技术平台.

我们全新升级的产品,进一步提升系统弹性与可扩展性,避免依赖某一技术节点导致单点失败等问题.我们的创新架构,允许客户进行更灵活的部署,在保障网络数据传输性能 带宽利用率最大化的同时,确保了数据内容的隐私性.

请详细阅读此手册,以顺利完成系统部署及使用,充分利用Pangolin的卓越性能,我们开始吧.

一 Service API 调用须知

  • Service提供3个HTTP API request(常用) release(不常用) services
  • 所有API调用时候均需要提供token参数, token由我司提供, 为 ‘user:password’的base64编码
  • 关于Service的IP地址, 以下用x.x.x.x指代, 如是我方提供的Service,则由我司提供, 如由客户自行部署的Service,则由客户自行记住(如客户部署了多个Service,只需记住其中一个的IP即可)

二 Service接口及调用方式一览,所有返回数据都是JSON格式:

接口说明参数 / 是否必须调用示例
/services获取所有可用Servicetoken[取值:用户的token]/ 必须http://x.x.x.x:2002/services?token=xxxx;
/resources获取可用国家列表token[取值:用户的token]/ 必须http://x.x.x.x:2002/resources?token=xxxx;
/request分配线路资源,会在属于客户的所有Service上选择某些线路.token[取值:用户的token]/ 必须, number[取值:需申请的端口数量] / 非必须,默认为1,expire[取值:线路的使用时间]/ 非必须,默认取值为10, 单位为分钟, region[取值:想要申请资源所在国家的代码]/非必须,默认为unkown,资源会随机分配http://x.x.x.x:2002/request?token=xxxxx&number=3&expire=10&region=155;
/release释放用户自己持有的线路资源,我们会限制单用户持有的线路的最大值,当用户的线路数超过最大值时,就能再申请线路,此接口可释放用户持有的所有线路token[取值:用户的token] / 必须http://x.x.x.x:2002/release?token=xxxx;

典型使用步骤及代码 数据示例如下(以下接口未经特别说明均为GET方法), 完整demo在tools/demo/python/sample目录下:

  1. Client获取所有可用的Service地址.如单个客户部署了多个Service,则会返回所有可用Service的列表.
Request : http://x.x.x.x:2002/services?token=xxxxx
Response:
{
    "message": "success",
    "services": [
        {
            "public": "X.XX.XX.XX:2003"
        },
        {
            "public": "X.X.XX.XXX:2003"
        }
    ]
}
说明
message: 用于返回错误提示
services: services列表, 其中每个元素代表一个service
public: service的公网地址
  1. Client获取可用区域及地区码
Request : http://127.0.0.1:2002/resources?token=xxxxxxxxxxx
{
    "Message": "success",
    "resources": [
        { "country": "Iraq", "code": "368" },
        { "country": "India", "code": "356" },
        { "country": "Egypt", "code": "818" },
        { "country": "Turkey", "code": "792" },
        { "country": "Spain", "code": "724" },
        { "country": "Oman", "code": "512" },
        { "country": "South Africa", "code": "710" }
	]
}
说明
message: 用于返回错误提示
resources: 当前可用国家及其代码
  1. Client向任意Service调用request接口
Request : http://x.x.x.x:2002/request?token=xxxxx&number=5&expire=10&region=368
Response:
{
    "resources": [
        {
            "resource": "X.X.XX.XXX:2009"
        },
        {
            "resource": "X.X.XX.XXX:2008"
        },
        {
            "resource": "X.X.XX.XXX:2007"
        },
        {
            "resource": "X.X.XX.XXX:2006"
        },
        {
            "resource": "X.X.XX.XXX:2005"
        }
    ],
    "message": "success"
}

说明
message: 用于返回错误提示
resource: 申请到的线路地址
  1. Client(用户程序或浏览器)设置代理, 进行常规HTTP(S)数据通信
    用户可在浏览器或自己的程序里用上一步骤里获取的resource设置好代理, 然后进行常规网络访问.例如 curl -x http://X.X.X.X:2009 -U : https://ifconfig.me
  2. 如果用户持有线路数量已达上限而无法再申请, 则释放资源后再申请
Request : http://x.x.x.x:2002/release?token=xxxx
Response:
{
    "message": "success"
}
说明:
message: 错误提示消息

关于资源端口的代理数据转发权限:

  • 所有HTTP(S) 请求头里必须包含请求头 Proxy-Authorization: Basic <your token> 用于认证

FAQ

  • 如果不调用/release接口释放资源,会产生什么情况?答:如果不调用release接口, service则认为线路资源在到期之前一直被占用, 如线路数超过限制(例如同时持有1000条线路)则无法再分配新线路,将造成资源利用率下降,总体可用带宽及有效数据总量降低.所以建议使用后正常调用,进行资源释放.
  • 某些线路资源在使用过程中变得不可用,该怎么办?因为Pangolin的线路资源为动态分配,这是可能出现的正常情况.一旦发现此情况,可以调用/request接口重新获取和优化可用线路.
  • 为什么/request接口会调用失败或未申请到足够的线路
    分两种情况, 1 调用失败,一般是后端没有线路可分配 2 用户持有线路数已接近或超过限制, 此时需要调用/release接口

Our solution

Scrape API

Protect your web crawler against blocked requests, proxy failure, IP leak, browser crash and CAPTCHAs!

Data API

Data API: Directly obtain data from any Amazon webpage without parsing.

Data Pilot

With Data Pilot, easily access cross-page, endto-end data, solving data fragmentation andcomplexity, empowering quick, informedbusiness decisions.

Follow Us

Weekly Tutorial

Sign up for our Newsletter

Sign up now to embark on your Amazon data journey, and we will provide you with the most accurate and efficient data collection solutions.

滚动至顶部
This website uses cookies to ensure you get the best experience.
pangolinfo LOGO

联系我们,您的问题,我们随时倾听

无论您在使用 Pangolin 产品的过程中遇到任何问题,或有任何需求与建议,我们都在这里为您提供支持。请填写以下信息,我们的团队将尽快与您联系,确保您获得最佳的产品体验。
pangolinfo LOGO

Talk to our team

If you encounter any issues while using Pangolin products, please fill out the following information, and our team will contact you as soon as possible to ensure you have the best product experience.