本文由 ChatMoney团队出品

简介

之前的一个简易的项目suno-api。是使用cookie来获取suno-token发起请求的,之前写的简单,并没有做cookie保活,在运行一段时间后cookie会失效,api便失效了。那现在就来实现一个简单的账号保活。

保活原理

账号保活的实现原理比较简单,其实就是每隔一段时间去获取一次token。当然有其他保活方案的也可以大家交流一下。

保活逻辑

我这里的处理比较简单,就是定时请求,

// KeepLive 账号保活
func (s *service) KeepLive() {
ticker := time.NewTicker(time.Second * 5) // 创建一个定时器,每隔5秒触发一次
defer ticker.Stop() // 确保在退出函数时停止定时器 for {
select {
case <-ticker.C: // 当定时器触发时
cookieStr := Conf.Cookie
if cookieStr == "" {
fmt.Println(CookieNotFound)
continue
} token, err := s.GetToken(cookieStr)
if err != nil {
fmt.Println(err.Error())
continue
} Token = token
fmt.Println("协程账号保活token-" + token)
}
}
}

代码测试

main方法中建一个协程处理保活逻辑


func main() {
r := gin.Default()
// 配置加载
viper.Init()
// 使用中间件
internal.RateLimitMiddleware(r, 1, 100)
// Suno账号保活
go internal.SunoService.KeepLive()
// 创建一个路由组,可以为其添加中间件
handler := new(internal.Handler)
v1 := r.Group("/api")
{
v1.POST("/gen", handler.GenMusic)
v1.GET("/feed", handler.GetFeed)
}
_ = r.Run()
}

项目启动

go run main.go

启动后,每隔一段时间则刷新token请求。

​​

关于我们

本文由ChatMoney团队出品,ChatMoney专注于AI应用落地与变现,我们提供全套、持续更新的AI源码系统与可执行的变现方案,致力于帮助更多人利用AI来变现,欢迎进入ChatMoney获取更多AI变现方案!



如何简单实现suno-api账号保活的更多相关文章

  1. phoenix 开发API系列(一)创建简单的http api

    安装 phoenix framework 安装 phoenix 很简单: mix archive.install https://github.com/phoenixframework/archive ...

  2. laravel 实现一个简单的 RESTful API

    创建一个 Article 资源 php artisan make:resource Article 你可以在 app/Http/Resources 目录下看到你刚刚生成的 Article 资源 当然我 ...

  3. 简单封装axios api

    可以在代码逻辑中写axios请求,处理请求结果,但是随着项目越来越大,代码会很繁琐,不容易维护,所以,可以把一些在所有请求中都要处理的逻辑抽取出来,封装成api方法.比如每次请求中都要判断是否有权限, ...

  4. 简单说说Restful API

    前言: 最近一段时间,一直在低头敲代码,开发平台对外交互的API接口,功能已经大体完成了,回过头来看看自己的接口设计文档,不胜感慨,想当初自己也是为"接口名称"想破了脑袋,各种百度 ...

  5. Rancher 2.5特性解读丨更简单友好的API和Dashboard

    本文来自Rancher Labs 关注我们,看K8S干货教程 作者简介 张智博,Rancher中国研发与产品总监.7年云计算领域经验,一直活跃在研发一线,经历了OpenStack到Kubernetes ...

  6. Java框架spring Boot学习笔记(九):一个简单的RESTful API

    RESTful API设计需求如下: User.java package com.springboot.test; public class User { private Long id; priva ...

  7. 基础项目构建,引入web模块,完成一个简单的RESTful API 转载来自翟永超

    简介 在您第一次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复粘贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...

  8. 我的C#跨平台之旅(二):开发最为简单的REST API

    添加NuGet引用:Microsoft.AspNet.WebApi.Owin 在启动类启用WebApi: 添加一个Controller类,代码如下: 运行程序并访问:http://localhost: ...

  9. 几个简单的windows API

    //将光标移动到x,y位置void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition(GetStdHa ...

  10. 试来试去,WIN下最简单的WIN API开发工具,Pelles C就好啦

    昨晚试过N个,不是太大,就是不容易和WIN API集成. 今早一试就灵了个.... Pelles C. Pelles C是一款windows下的C IDE,支持调试,且为免费.它有一个高效率的链接器, ...

随机推荐

  1. 配置服务器SSH PAM防止暴力破解

    正常机器如果开启ssh可能会被暴力破解用户密码,可以配置ssh的pam限制登录失败时可以锁定用户一段时间,就算密码输入正确也无法登录,等恢复之后才可以再次进入,对于不同的发行版配置可能略有不同,对于r ...

  2. Serverless 选型:深度解读 Serverless 架构及平台选择

    作者 | 悟鹏  阿里巴巴技术专家 导读:本文尝试以日常开发流程为起点,分析开发者在每个阶段要面对的问题,然后组合解决方案,提炼面向 Serverless 的开发模型,并与业界提出的 Serverle ...

  3. 阿里云数据库开源重磅发布:PolarDB三节点高可用的功能特性和关键技术

    ​简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云数据库技术专家孟勃荣 带来了主题为<PolarDB 三节点高可用>的精彩演讲.三节点高可用功能主要为 PolarD ...

  4. 如何高效完成ECS多环境部署?

    ​简介:通过本文,你可以了解到,如何通过云效流水线有效拉通开发与运维,打破二者之间的壁垒墙,让开发与运维高效联动.在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开 ...

  5. 冷热分离之OTS表格存储实战

    简介: 为什么要冷热分离由于2020疫情的原因,在线教育行业提前被大家所重视,钉钉教育已经服务超过21万所学校.700万教师和1.4亿学生用户,每天大量的教育数据产生.整体数据量:随着时间的积累,数据 ...

  6. [Contract] ETH 与 Gas 之间的价格转换关系, Ethereum Gas Price Chart

    以太坊网络每天的平均气价(Gas)是变化,有一张价格表:https://etherscan.io/chart/gasprice 然后你可以知道 1 Gas = xx Gwei,再换算一下 1 ETH ...

  7. 21.3K star!推荐一款可视化自动化测试/爬虫/数据采集神器!功能免费且强大!

    大家好,我是狂师! 在大数据时代,信息的获取与分析变得尤为重要.对于开发者.数据分析师乃至非技术人员来说,能够高效地采集网络数据并进行分析是一个强有力的工具.今天,我要向大家推荐的是一款功能强大.操作 ...

  8. dotnet OpenXml SDK 形状填充渐变色的主题色

    在 Office 文档的一些有趣的设计,颜色和画刷是可以继承的,这个继承包括了属性的继承.在形状填充里面使用的渐变色是可以一部分属性放在主题里面,主要找到主题里面的画刷,替换掉形状自己定义的内容,才是 ...

  9. 2019-8-31-dotnet-core-使用-PowerShell-脚本

    title author date CreateTime categories dotnet core 使用 PowerShell 脚本 lindexi 2019-08-31 16:55:58 +08 ...

  10. ABAP 7.58 中支持任意精度算术的新类

    1. 引言 通常,有两种对编程语言的改进.第一种是让困难的事情变得简单,第二种是让不可能的事情变为可能.本文介绍的是任意精度算术,它属于第二类:使在ABAP中原本不可能的事情成为可能. 过去已经可以在 ...