ProxyWing
浏览端点

ProxyWing 开发者 API

移动

订购移动代理、轮换出口 IP、设置操作系统签名、将 IP 加入白名单以及下载 OpenVPN 配置。

GET /mobile/products

列出移动代理套餐

返回可购买的移动(4G/5G)代理套餐。每个套餐按固定时长销售;每个套餐都会列出可用的计费周期及其价格。

验证 · Bearer
请求 GET /mobile/products
curl -X GET "https://api.proxywing.com/v1/mobile/products" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "products": [
    {
      "product_id": "mob_327",
      "name": "Germany O2",
      "location": "Germany",
      "cycles": [
        {
          "cycle": "1 Day",
          "price": 10
        },
        {
          "cycle": "7 Days",
          "price": 40
        },
        {
          "cycle": "15 Days",
          "price": 80
        },
        {
          "cycle": "30 Days",
          "price": 145
        }
      ]
    }
  ]
}
POST /mobile/orders

订购移动代理

使用账户余额按所选时长购买移动代理套餐,支付后开通一个专用端口。请提供 Idempotency-Key 请求头,这样重试绝不会重复扣费。响应中的 order_id 是后续所有针对该资源的调用所使用的 ID,且仅在订单开通后才可获知——订单仍处于 awaiting_payment 状态时,该值为 null。请先支付账单,然后重新读取余额结清订单的响应,或轮询相应的列表端点以获取该资源。此端点必须提供 Idempotency-Key——省略将返回 400,且不会产生任何扣费。

验证 · Bearer Idempotency-Key

请求体参数

  • product_id string 必填

    要订购的套餐,取自 GET /mobile/products。

  • cycle string 必填

    购买时长:"1 Day"、"7 Days"、"15 Days" 或 "30 Days"。

  • promo_code string 可选

    可选的优惠码。通过 API 仅可使用折扣低于 100% 的百分比折扣优惠码(会使总额归零的优惠码将被拒绝)。

请求 POST /mobile/orders
curl -X POST "https://api.proxywing.com/v1/mobile/orders" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"mob_327","cycle":"7 Days"}'
响应 200 · application/json
{
  "order_id": "mob_100002",
  "invoice_id": "inv_200011",
  "product_id": "mob_327",
  "cycle": "7 Days",
  "status": "paid"
}
GET /mobile/services

列出移动服务

返回账户中所有有效的移动代理,以及其套餐、位置、当前出口 IP 和到期时间。

验证 · Bearer
请求 GET /mobile/services
curl -X GET "https://api.proxywing.com/v1/mobile/services" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "services": [
    {
      "id": "mob_100020",
      "plan": "Germany O2",
      "location": "Germany",
      "status": "active",
      "port_ip": "45.11.22.33",
      "expires_at": "2026-07-10T00:00:00Z"
    }
  ]
}
GET /mobile/services/{svc_id}

获取移动服务详情

返回移动服务的实时状态、出口 IP、剩余流量以及可直接使用的连接详情(主机、端口、协议、用户名、密码)。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020,可从 GET /mobile/services 获取。

请求 GET /mobile/services/{svc_id}
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "id": "mob_100020",
  "plan": "Germany O2",
  "location": "Germany",
  "status": "connected",
  "exit_ip": "45.11.22.33",
  "connection": {
    "host": "mobileproxy.proxywing.com",
    "port": 35725,
    "protocol": "socks5",
    "username": "proxy35725",
    "password": "sample_password"
  },
  "traffic_remaining_gb": 18.5,
  "expires_at": "2026-07-10T00:00:00Z",
  "auto_reset_interval": 0
}
POST /mobile/services/{svc_id}/rotate

轮换出口 IP

触发调制解调器重新连接并获取新的移动出口 IP。此操作不会向账户收费。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求 POST /mobile/services/{svc_id}/rotate
curl -X POST "https://api.proxywing.com/v1/mobile/services/{svc_id}/rotate" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "status": "rotating"
}
GET /mobile/signatures

列出操作系统签名

返回移动端口可呈现的操作系统/浏览器(p0f)签名。设置服务的签名时,请使用其中一个值。

验证 · Bearer
请求 GET /mobile/signatures
curl -X GET "https://api.proxywing.com/v1/mobile/signatures" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "signatures": [
    "Windows",
    "MacOS Sequoia",
    "Android",
    "iOS new",
    "Linux",
    "No change"
  ]
}
GET /mobile/services/{svc_id}/signature

获取服务的签名

返回当前应用于移动服务的操作系统签名。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求 GET /mobile/services/{svc_id}/signature
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/signature" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "id": "mob_100020",
  "signature": "Windows"
}
PUT /mobile/services/{svc_id}/signature

设置服务签名

为移动服务设置操作系统签名。请使用 GET /mobile/signatures 中的值。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求体参数

  • signature string 必填

    取自 GET /mobile/signatures 的签名值。

请求 PUT /mobile/services/{svc_id}/signature
curl -X PUT "https://api.proxywing.com/v1/mobile/services/{svc_id}/signature" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"signature":"iOS new"}'
响应 200 · application/json
{
  "id": "mob_100020",
  "signature": "iOS new"
}
GET /mobile/services/{svc_id}/vpn-config

下载 OpenVPN 配置

以 zip 文件(application/zip)形式下载移动服务的 OpenVPN 配置。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求 GET /mobile/services/{svc_id}/vpn-config
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/vpn-config" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "_note": "Binary response — a zip file is returned, not JSON."
}
GET /mobile/services/{svc_id}/whitelist

获取 IP 白名单

返回移动服务白名单中的 IP。白名单中的 IP 无需用户名和密码即可直接使用代理。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求 GET /mobile/services/{svc_id}/whitelist
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/whitelist" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "id": "mob_100020",
  "ips": [
    "203.0.113.10"
  ]
}
PUT /mobile/services/{svc_id}/whitelist

设置 IP 白名单

用提供的列表替换移动服务的 IP 白名单——请发送您希望加入白名单的完整 IP 集合;空列表会清空白名单。白名单中的 IP 无需用户名和密码即可使用代理。仅支持 IPv4 地址(不支持 CIDR 网段或 IPv6);每个服务最多 10 个。不影响计费。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求体参数

  • ips string[] 必填

    要加入白名单的完整 IPv4 地址列表(最多 10 个)。传入 [] 可清空白名单。

请求 PUT /mobile/services/{svc_id}/whitelist
curl -X PUT "https://api.proxywing.com/v1/mobile/services/{svc_id}/whitelist" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"ips":["203.0.113.10","203.0.113.11"]}'
响应 200 · application/json
{
  "id": "mob_100020",
  "ips": [
    "203.0.113.10",
    "203.0.113.11"
  ]
}
GET /mobile/services/{svc_id}/auto-rotate

获取自动轮换间隔

返回移动服务的自动 IP 轮换间隔,单位为分钟(0 = 关闭)。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求 GET /mobile/services/{svc_id}/auto-rotate
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/auto-rotate" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "id": "mob_100020",
  "interval_minutes": 0
}
PUT /mobile/services/{svc_id}/auto-rotate

设置自动轮换间隔

安排每 interval_minutes 分钟进行一次自动出口 IP 轮换。允许的间隔:1、2、3、5、10、15、30 或 60 分钟——不支持秒级轮换。设置为 0 可关闭自动轮换。

验证 · Bearer

路径参数

  • svc_id string 必填

    服务 ID,例如 mob_100020。

请求体参数

  • interval_minutes integer 必填

    轮换间隔(分钟):1、2、3、5、10、15、30 或 60。使用 0 可停用自动轮换。

请求 PUT /mobile/services/{svc_id}/auto-rotate
curl -X PUT "https://api.proxywing.com/v1/mobile/services/{svc_id}/auto-rotate" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"interval_minutes":5}'
响应 200 · application/json
{
  "id": "mob_100020",
  "interval_minutes": 5
}
DELETE /mobile/services/{svc_id}/whitelist/{ip}

移除白名单 IP

从移动端口的白名单中仅移除一个 IP,并返回更新后的列表。该操作是幂等的。上游提供商仅支持替换整个白名单,因此这是一个“读取-修改-写入”操作:如需移除多个 IP,请发送一个包含最终列表的 PUT 请求,而不是多个并发的 DELETE 请求,否则它们可能会相互恢复对方删除的条目。

验证 · Bearer

路径参数

  • svc_id string 必填

    移动服务 ID,可从 GET /mobile/services 获取。

  • ip string 必填

    要移除的白名单 IP,例如 203.0.113.9。

请求 DELETE /mobile/services/{svc_id}/whitelist/{ip}
curl -X DELETE "https://api.proxywing.com/v1/mobile/services/{svc_id}/whitelist/{ip}" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "id": "mob_100002",
  "ips": [
    "203.0.113.10"
  ]
}