ucloud是一家不错的云计算公司,不高的费用,稳定的技术,勤劳的售后得到了俺的喜欢。

年底了,流量不是大么,前半个月通过123pan分流apk下载、6个5Mbps固定太宽用于物联网长连接服务等手段,解决了2个100GB每日流量的问题,剩下的一个牵扯到动态接口直接返回zip数据暂时无法直接解决。

于是,想了解下ucloud对于固定带宽的具体收费情况。

开着浏览器调试页面访问ucloud的eip购买页面可以看到年费的价格。
既然是爬虫,我们在这一个请求单机右键,拷贝成curl命令,这里面就包括了接口地址、cookie信息以及其他一些必要的信息,并且通过curl是可以直接返回价格json数据的。
2024-01-09T03:30:10.png

我们把curl命令拷贝到gpt里面,请gpt帮我们修改成python语句。
2024-01-09T03:34:19.png

把生成的内容放到pycharm里面,然后需要修改时间戳,并把语句包进一个函数里面,将bandwidth作为参数可以直接外部调用。
2024-01-09T03:36:47.png
2024-01-09T03:37:09.png

完整代码如下:

#!/bin/env python3
import time

import requests

def get_price_year(bandwidth):
    url = 'https://api.ucloud.cn/?Action=GetEIPPrice'

    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Accept-Language': 'zh,en-US;q=0.9,en;q=0.8',
        'Connection': 'keep-alive',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Cookie': 'xxx',
        'Origin': 'https://console.ucloud.cn',
        'Referer': 'https://console.ucloud.cn/unet/eip/create',
        'Sec-Fetch-Dest': 'empty',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'same-site',
        'U-CSRF-Token': 'xxx',
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0',
        'sec-ch-ua': '"Opera";v="105", "Chromium";v="119", "Not?A_Brand";v="24"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"Linux"',
        'x-api-lang': 'zh_CN'
    }

    import time
    current_timestamp = int(time.time()*1000)

    data = {
        'ProjectId': 'org-2wbwtk',
        'Region': 'cn-bj2',
        'OperatorName': 'Bgp',
        'Bandwidth': bandwidth,
        'Tag': 'Default',
        'PayMode': 'Bandwidth',
        'Count': '1',
        'ChargeType': 'Year', # 注意:这个值可能需要根据你的需要进行更改
        'Quantity': '1',
        'Action': 'GetEIPPrice',
        '_user': 'yunwei@stesh.cn',
        '_timestamp': current_timestamp # 注意:这个时间戳可能需要更新
    }

    response = requests.post(url, headers=headers, data=data)

    # print(response.text)

    response_json = response.json()
    price = response_json["PriceSet"][0]["Price"]
    #print(price)
    return(price)

for i in range(1,1000):
    print(i,",",get_price_year(i))
    time.sleep(0.5) # 添加延时,避免接口调用频繁导致异常

如此一来,我们就可以运行了。
2024-01-09T03:37:33.png

经过二次加工后,我们获得了一张excel表格,
2024-01-09T03:38:19.png

另外,还有一个初步的结论:

  1. 如果接口一直有流量,一年到头的都有,那么固定带宽要比按流量性价比高。
  2. 固定带宽直接5Mbps,一个不够就2个,然后通过DNS轮番解析到这两个EIP上。
  3. 如果确实有流量,还不小,白天大概在3Mbps,夜间可以到90Mbps,可以在ULB上挂两个EIP,一个固定带宽5Mbps满足白天时段带宽需求,另一个按流量100Mbps满足夜间带宽需求。然后使用调度器控制DNS解析,白天解析到5Mbps固定带宽的EIP上,晚上解析到按流量的EIP上。
最后修改:2024 年 05 月 11 日
如果觉得我的文章对你有用,请随意赞赏