跳到主要内容
NextProxyNextProxy文档

流量计费口径

什么字节算流量、什么不算、计费倍率怎么作用,以及为什么账面数字和你自己统计的会有差异。

按 GB 计费的产品线(动态住宅)会关心这个。这一篇把口径写到字节级别,方便你对账。

一句话口径

算进流量的

  • CONNECT 隧道建立之后隧道内的全部字节 —— 包括 TLS 握手记录、HTTP 头、请求体、响应体
  • 普通 HTTP forward 模式下重建后的请求行和请求头
  • chunked body 的线格式数据(分块长度标记也算)
  • 上传和下载两个方向

不算进流量的

  • 你发给网关的 CONNECT 请求行和请求头
  • 网关回你的 HTTP/1.1 200 Connection Established
  • SOCKS5 的问候、认证子协商、CONNECT 请求与响应
  • 网关与出口之间的 CONNECT / SOCKS 握手
  • TCP / IP / 以太网包头

HTTPS 一次请求的实际组成

访问一个 HTTPS 页面,计费的字节大致是:

部分典型大小计费
客户端到网关的 CONNECT 请求~200 B不计费
网关的 200 响应~40 B不计费
TLS ClientHello / ServerHello / 证书 / Finished3–6 KB计费
HTTP 请求头(加密后)0.5–2 KB计费
HTTP 响应头0.5–2 KB计费
响应体视内容计费

所以"一个只返回几十字节 JSON 的 API 调用"实际计费约 5–10 KB,绝大部分是 TLS 握手。这类场景应该复用连接。

计费倍率

原始字节会乘一个产品倍率再计入余额扣减。倍率以百万分之一(PPM)为单位,累计值向下取整。

text
计费字节 = floor(累计原始字节 × 倍率 ÷ 1,000,000)

倍率为 1,000,000 时就是 1:1。具体倍率看产品说明或控制台的产品详情。

结算与统计维度

日汇总按北京时间自然日结算。 跨时区对账时要注意这一点——你按 UTC 统计的日消耗和平台账面会差几小时的量。

用量统计能查到的维度见 用量统计

小时级和域名小时级的明细保留 60 天,超过之后只剩日汇总。需要长期留存自己定期导出。

为什么你的统计和账面不一致

自己在代码里统计的字节数和平台账面对不上,几乎总是下面某个原因:

你的统计平台统计差异
只算响应体算 TLS 握手 + 请求头 + 响应头 + 响应体每连接多 5–10 KB
算解压后的大小算网络上的实际字节(压缩后)平台的数字更小
只算成功的请求算所有成功写入 socket 的字节,包括失败请求的部分响应平台的数字更大
按 UTC 分日按北京时间分日日边界差 8 小时
不算重试算每次重试平台的数字更大

怎么省流量

按效果排序:

确保开了压缩

shell
curl -H 'Accept-Encoding: gzip, deflate, br' ...

HTML / JSON / CSS / JS 的压缩率通常在 60–80%。这是最省的一条。

浏览器自动化时拦掉图片和字体

python
# Playwright
def block_heavy(route):
    if route.request.resource_type in {"image", "media", "font"}:
        route.abort()
    else:
        route.continue_()

context.route("**/*", block_heavy)

现代网页的图片和字体常占首屏流量的 60–80%。

复用连接

每个新 HTTPS 连接有 3–6 KB 的 TLS 握手开销。请求密集时复用连接能省下可观的量。

注意这跟"轮换 IP"是矛盾的——需要换 IP 时握手开销就是代价。权衡的办法是用粘性会话在同一 IP 下复用连接,只在必要时换。

用 HEAD 探测

只需要判断资源是否存在、看响应头时用 HEAD 而不是 GET

shell
curl -I -x 'http://USER-country-US:PASS@GATEWAY_HOST:58971' https://example.com/large-file

不要抓不需要的页面

听起来废话,但实践中最大的浪费往往是抓了整站却只用其中一小部分。先想清楚需要哪些页面。

按 IP 计费的产品线不消耗流量

静态住宅数据中心不限量住宅都不从流量池扣量。

不限量住宅有两种计费模式:端口版按端口数 × 有效期计费,每个端点合计限速 6 Mbps;带宽版按账号总带宽 × 有效期计费。两种模式都不按 GB 扣量。

余额的有效期

动态住宅的流量余额在购买后累加进流量池。当前实现中没有代码层面的自动过期或余量作废规则——余额不会因为时间到了被清零。

报价的有效期

动态住宅下单前的报价单默认 5 分钟有效。促销活动结束时间或产品下架时间更早的话会进一步缩短。

所以"询价 → 展示给用户 → 用户犹豫十分钟 → 下单"这个流程会失败。要么缩短决策窗口,要么在下单前重新询价。

未付款订单

默认 30 分钟过期,过期后库存自动加回。Stripe 渠道的结账链接保留 30 天

相关

这篇解决你的问题了吗?