ttutils

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2025 License: Unlicense Imports: 25 Imported by: 0

README

TITAN-Utils

个人用于快速开发的依赖库,封装了常用的函数,避免多项目代码重写。

旨在让 Golang 变得像 Python 一样简单易用。

方法说明(部分展示)

具体使用看方法注释即可。

快速使用

go get -u github.com/FeatherStark/ttutils

cmd 执行系统命令

func CommandExecute(command string) CommandExecResult{...}

Description: CommandExecute 执行系统命令并打印结果

Args: command string 命令字符串

Returns: CommandExecResult 命令执行结果


execResult := ttutils.CommandExecute("ipconfig")
fmt.Println(execResult.Success)
fmt.Println(execResult.CommandString)
fmt.Println(execResult.Output)
fmt.Println(execResult.Error)
jwt 解析JWT参数

func JwtParseClaims(jwtTokenString, jwtSecret string) (jwt.MapClaims, error){...}

Description: JwtParseClaims 传入JWT字符串,解析并返回其中的claims(明文字段内容),如claims['username']获取username的值

Args: jwtTokenString JWT字符串, jwtSecret JWT密钥

Returns: jwt.MapClaims, error


jwtToken := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwidXNlcm5hbWUiOiJKb2huIERvZSIsImlhdCI6MTUxNjIzOTAyMn0.E1iIYCH3fs06Z9aEmDNaHOx9G-zeiqO2xtugPqaQHrQ"
jwtSecret := "mysecret"
claims, err := ttutils.JwtParseClaims(jwtToken, jwtSecret)
if err != nil {
    fmt.Println(err.Error())
    return
}
if claims["username"] == "John Doe" {
    fmt.Println("username is John Doe")
}
request HTTP请求的配置和发送

func RequestGetConfig(uri string) *HttpRequestConfig{...}

Description: RequestGetConfig GET 请求。

Args: uri string 请求地址。

Returns: *HttpRequestConfig HTTP 请求配置。


func RequestPostConfig(uri string) *HttpRequestConfig{...}

Description: RequestPostConfig POST 请求 默认的 Content-Type 是 application/x-www-form-urlencoded。

Args: uri string 请求地址, data string 请求数据。

Returns: *HttpRequestConfig HTTP 请求配置。


cfg := ttutils.RequestPostConfig("/post")
cfg.Header.Store("Cookie", "user=admin;")
cfg.Header.Store("Content-Type", "application/x-www-form-urlencoded")
cfg.FollowRedirect = false
cfg.VerifyTls = false
cfg.Data = `hello`
resp, err := ttutils.DoHttpRequest("https://httpbin.org/", cfg)
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(resp.Utf8Html)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Base64DecodeString

func Base64DecodeString(input string) (string, error)

Base64DecodeString 将输入的 Base64 字符串解码为明文字符串 Args: input string Base64 字符串。 Returns: string 解码后的明文字符串, error 错误信息。

func Base64EncodeString

func Base64EncodeString(str string) string

Base64EncodeString 将输入的字符串编码为 Base64 字符串 Args: str string 明文字符串。 Returns: string 编码后的 Base64 字符串。

func CaesarDecrypt

func CaesarDecrypt(encryptedText string, shift int) string

CaesarDecrypt 凯撒解码。 Args: encryptedText string 密文, shift int 解密偏移量。 Returns: string 明文。

func CaesarEncrypt

func CaesarEncrypt(plainText string, shift int) string

CaesarEncrypt 凯撒编码。 Args: plainText string 明文, shift int 加密偏移量。 Returns: string 密文。

func FileAppendData

func FileAppendData(filePath string, data string) error

FileAppendData 将字符串追加到文件尾,如果文件不存在则创建该文件。 Args: filePath string 文件路径, data string 要追加的数据,。 Return: error 错误信息。

func FileDelete

func FileDelete(filePath string) error

FileDelete 删除文件 Args: filePath string 文件路径。 Return: error 错误信息。

func FileEnsureDirAndFileExists

func FileEnsureDirAndFileExists(filePath string, data string) error

FileEnsureDirAndFileExists 确保目录和文件存在,如果文件不存在则创建目录和文件,同时写入文件内容。 Args: filePath string 文件路径, data string 文件内容。 Return: error 错误信息。

func FileOverWrite

func FileOverWrite(filePath string, data string) error

FileOverWrite 如果文件已经存在,内容会被覆盖。 Args: filePath string 文件路径, data string 文件内容 Returns: error 错误信息。

func FileRead

func FileRead(filePath string) (string, error)

FileRead 读取指定路径文件内容 Args: filePath string 文件路径。 Returns: string 文件内容, error 错误信息。

func GetFutureTimestamp

func GetFutureTimestamp(hours int) int

GetFutureTimestamp 获取未来时间戳, 单位为小时 1726766060。 Args: hours int 当前时间的未来/过去小时的数量。 Return: int 时间戳。 e.g.: Args 2, Returns 1726766060。

func GetHost

func GetHost(host string) string

GetHost 获取主机地址,协议+域名或IP。 Args: host string 主机地址。 Returns: string 主机地址。

func GetNowTime

func GetNowTime() string

GetNowTime 获取当前时间 2024-09-29 16:42:19 Return: string 当前时间。 e.g.: Returns 2024-09-29 16:42:19。

func GetNowTimestamp

func GetNowTimestamp() string

GetNowTimestamp 获取当前时间戳 1726736060 Return: string 当前时间戳。 e.g.: Returns 1726736060。

func GetRandomUserAgent

func GetRandomUserAgent(userAgents []string) string

GetRandomUserAgent 传入UserAgent列表,获取随机的 User-Agent;如果传入为nil,则使用内置随机UA头。 Args: userAgents []string 自定义UserAgent列表。 Returns: string 随机的User-Agent。

func GetTimestampByTime

func GetTimestampByTime(timeStr string) (int, error)

GetTimestampByTime 传入时间字符串,如,获取时间戳 Args: timeStr string 时间字符串。 Return: int 时间戳, error 错误。 e.g.: Args 2006-01-02 15:04:05, Returns 1726736060,nil。

func IsAlphaNumeric

func IsAlphaNumeric(str string) bool

IsAlphaNumeric 检测字符串只包含字母和数字,如果是则返回true。 Args: str string 需要检测的字符串。 Returns: bool true表示只包含字母和数字,false表示不包含字母和数字。

func JwtParseClaims

func JwtParseClaims(jwtTokenString, jwtSecret string) (jwt.MapClaims, error)

JwtParseClaims 传入JWT字符串,解析并返回其中的claims(明文字段内容),如claims['username']获取username的值 Args: jwtTokenString JWT字符串, jwtSecret JWT密钥 Returns: jwt.MapClaims, error

func LogDebugPrintln

func LogDebugPrintln(msg string)

LogDebugPrintln 输出 Debug 信息

func LogErrorPrintln

func LogErrorPrintln(msg string)

LogErrorPrintln 输出 Error 信息

func LogInfoPrintln

func LogInfoPrintln(msg string)

LogInfoPrintln 输出 Info 信息

func LogWarningPrintln

func LogWarningPrintln(msg string)

LogWarningPrintln 输出 Warning 信息

func Md5HashEncrypt

func Md5HashEncrypt(text string) string

Md5HashEncrypt md5加密字符串。 Args: text string 需要加密的文本。 Returns: string 加密后的文本。

func Md5HashEncryptFile

func Md5HashEncryptFile(filepath string) (string, error)

Md5HashEncryptFile 计算文件的 md5 值。 Args: filepath string 文件路径。 Returns: string 文件的 md5 值, error 错误信息。

func RandomNumber

func RandomNumber(min, max int) int

RandomNumber 获取指定数字区间的随机数 Args: min int 最小值, max int 最大值 Returns: int 随机数 e.g.: Args: 1, 10 Returns: 5

func RandomString

func RandomString(length int) string

RandomString 获取指定长度的随机字符串 Args: length int 字符串长度 Returns: string 指定长度的随机字符串 e.g.: Args: 10 Returns: "oq3kefg7ij"

func SliceRemoveDuplicates

func SliceRemoveDuplicates(slice []string) []string

SliceRemoveDuplicates 切片去重 Args: slice []string 切片 Returns: []string 去重后的切片

func UnicodeDecodeString

func UnicodeDecodeString(str string) string

UnicodeDecodeString 将字符串中的Unicode编码解码为对应的字符。 Args: str string unicode 编码。 Returns: string unicode 解码后的字符串。

func UnicodeEncodeString

func UnicodeEncodeString(input string) string

UnicodeEncodeString 将字符串编码为 Unicode 转义序列 Args: input string 要编码的字符串。 Returns: string 编码后的字符串。

func UrlDecodeString

func UrlDecodeString(str string) string

UrlDecodeString 对字符串进行URL解码 Args: str - 要进行URL解码的字符串 Returns: string 解码后的字符串 e.g.: "%48%65%6c%6c%6f%2c%20%57%6f%72%6c%64%21%20%31%32%33" -> "Hello, World! 123"

func UrlEncodeAllCharacters

func UrlEncodeAllCharacters(input string) string

UrlEncodeAllCharacters 对字符串中的所有字符(包括字母和数字)都进行URL编码 Args: input - 要进行URL编码的字符串 Returns: string 编码后的字符串 e.g.: "Hello, World! 123" -> "%48%65%6c%6c%6f%2c%20%57%6f%72%6c%64%21%20%31%32%33"

func UrlEncodeNonAlphanumeric

func UrlEncodeNonAlphanumeric(input string) string

UrlEncodeNonAlphanumeric 对字符串中除了数字和字母以外的其他字符进行URL编码 Args: input - 要进行URL编码的字符串 Returns: string 编码后的字符串 e.g.: "Hello, World! 123" -> "Hello%2C+World%21+123"

Types

type CommandExecResult

type CommandExecResult struct {
	Success       bool   // Success 命令是否执行成功
	CommandString string // CommandString 命令字符串
	Output        string // Output 命令执行输出
	Error         error  // Error 命令执行错误
}

CommandExecResult 命令执行结果

func CommandExecute

func CommandExecute(command string) CommandExecResult

CommandExecute 执行系统命令并打印结果 Args: command string 命令字符串 Returns: CommandExecResult 命令执行结果

type HttpRequestConfig

type HttpRequestConfig struct {
	Method         string   // Method 请求方法
	URI            string   // URI 请求Uri路径
	Data           string   // Data 请求数据
	Following      int      // Following 重定向次数
	FollowRedirect bool     // FollowRedirect 是否跟随重定向
	Header         sync.Map // Header 请求头
	Timeout        int      // Timeout 请求超时时间
	VerifyTls      bool     // VerifyTls 是否验证证书
	Proxy          string   // Proxy 代理地址
}

HttpRequestConfig HTTP 请求配置

func HttpNewRequestConfig

func HttpNewRequestConfig(method, uri, data string) *HttpRequestConfig

HttpNewRequestConfig 创建请求配置。 Args: method string 请求方法, uri string 请求地址, data string 请求数据。 Returns: *HttpRequestConfig HTTP 请求配置。

func HttpRequestGetConfig

func HttpRequestGetConfig(uri string) *HttpRequestConfig

HttpRequestGetConfig GET 请求。 Args: uri string 请求地址。 Returns: *HttpRequestConfig HTTP 请求配置。

func HttpRequestPostConfig

func HttpRequestPostConfig(uri string) *HttpRequestConfig

HttpRequestPostConfig POST 请求 默认的 Content-Type 是 application/x-www-form-urlencoded。 Args: uri string 请求地址, data string 请求数据。 Returns: *HttpRequestConfig HTTP 请求配置。

type HttpResponse

type HttpResponse struct {
	URL            string // URL 请求地址
	Utf8Html       string // Utf8Html UTF8 解码后的HTML
	HeaderString   string // HeaderString 响应头字符串
	*http.Response        // HTTP响应结构体
}

HttpResponse HTTP 响应

func DoHttpRequest

func DoHttpRequest(host string, config *HttpRequestConfig) (*HttpResponse, error)

DoHttpRequest 执行 HTTP 请求。 Args: host string 主机地址, config *HttpRequestConfig 请求配置。 Returns: *HttpResponse HTTP 响应, error 错误。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL