tools

package module
v0.2.32 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2021 License: Apache-2.0 Imports: 19 Imported by: 44

README

tools

go的工具集

安装

go get github.com/PeterYangs/tools


1.网络请求


import "github.com/PeterYangs/tools/http"

//获取客户端
client := http.Client()

//get请求
str, err := client.Request().GetToString("https://www.baidu.com")

//post请求
str, err := client.Request().PostToString("https://www.baidu.com")



//携带参数
p := map[string]interface{}{"name": []string{"123", "456"}, "age": 1, "nickname": "123"}

str, err := client.SetTimeout(1 * time.Second).Request().SetParameter(p).GetToString("https://www.google.com/")


//复杂参数
p := map[string]interface{}{
		"name":     []string{"123", "456"},
		"age":      1,
		"nickname": "123",
		"form": map[string]interface{}{
			"one":   "1",
			"two":   "2",
			"three": []string{"123", "456"},
			"four": map[string]interface{}{
				"one": "1",
				"two": "2",
			},
		},
	}
	
client.Request().SetParameter(p).GetToString("http://list.com/pass/get.php")
	


//自定义header
header := map[string]string{"user-agent": "Iphone100"}

//添加全局header	
client:=http.Client().SetHeader(header)

//局部header	
re, err :=client.Request().SetHeader(header).GetToString("http://list.com/pass/header.php")


//proxy
client := http.Client()

client.SetProxyAddress("http://127.0.0.1:4780")

html, err := client.Request().GetToString("https://www.google.com/")


//timeout
client := http.Client()

client.SetTimeout(1*time.Second)

html, err := client.Request().GetToString("https://www.google.com/")


//重试次数,默认为0
html,err:=client.Request().SetReTryTimes(3).GetToString("https://xxxccaacasdad.com")




2.时间处理

//时间戳转时间格式,目前仅支持Y、m、d、H、i、s、w
tools.Date("Y-m-d", time.Now().Unix())
tools.Date("Y-m-d H:i:s", time.Now().Unix()))
tools.Date("Y-m-d H:i", time.Now().Unix())
tools.Date("Y", time.Now().Unix())
tools.Date("Ym", time.Now().Unix()))
tools.Date("Ymd", time.Now().Unix()))
tools.Date("H", time.Now().Unix()))
tools.Date("Hi", time.Now().Unix()))

//时间格式转时间戳,单位秒
tools.StrToTime("2020/12/12")
tools.StrToTime("2020-12-12")
tools.StrToTime("2020-12-12 11:32:00")
tools.StrToTime("2020/12/12 11:32:00")




3.数组操作


//in_array
array := []string{"1", "2", "3", "4"}

b := tools.InArray(array, "4")

println(b)

array2 := []int{1, 2, 3, 4}

b2 := tools.InArray(array2, 4)

println(b2)




//implode

arr:=[]string{"1","2","3"}

fmt.Println(tools.Implode("-",arr))





4.文件操作


//写入文件
file:=write.Open("test.txt")

file.Write([]byte("hello"))



//追加写入
f:=write.OpenAppend("test.txt")

for i := 0; i < 10; i++ {

    err:=f.WriteNotClose([]byte("hello\n"))

    if err != nil {

        fmt.Println(err)

        return
    }

}

f.Close()




//文件读取
s,err:=read.Open("LICENSE").Read()


//分块读取
err:=read.Open("LICENSE").ReadBlock(1024,func(b []byte){})





5.字符串操作


//explode
str:="1,2,3"

fmt.Println(tools.Explode(",",str))




//md5
str := "123"

fmt.Println(tools.Md5(str))




//字符串截取
str := "我尼玛"

tools.SubStr(str, 1, 1)
tools.SubStr(str, 1, -1)



Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertToByte added in v0.1.2

func ConvertToByte(src string, srcCode string, targetCode string) []byte

func Date added in v0.0.6

func Date(format string, timestamp int64) string

时间格式函数

func DeleteFile

func DeleteFile(path string) error

删除文件

func DownloadFile

func DownloadFile(url string, path string, setting HttpSetting) error

DownloadFile 下载文件

func DownloadImage added in v0.0.3

func DownloadImage(url string, path string, setting HttpSetting) error

DownloadImage 图片下载

func Explode added in v0.0.4

func Explode(delimiter, text string) []string

func GetExtensionName added in v0.0.11

func GetExtensionName(fileName string) (string, error)

获取文件名拓展名

func GetToBody added in v0.1.1

func GetToBody(url string, setting HttpSetting) (io.ReadCloser, error)

GetToBody 注意要手动关闭body

func GetToResp added in v0.1.1

func GetToResp(url string, setting HttpSetting) (*http.Response, error)

GetToResp 注意要手动关闭body

func GetToString added in v0.1.0

func GetToString(url string, setting HttpSetting) (string, error)

GetToString get获取字符串结果

func GetToStringWithHeader added in v0.2.14

func GetToStringWithHeader(url string, setting HttpSetting) (string, http.Header, error)

GetToStringWithHeader get获取字符串结果并返回头部信息

func Implode added in v0.2.4

func Implode(glue string, pieces []string) string

func InArray added in v0.2.13

func InArray(array interface{}, item interface{}) bool

func In_array added in v0.0.8

func In_array(array interface{}, item interface{}) bool

老版兼容函数

func IsGBK added in v0.1.2

func IsGBK(data []byte) bool

func Join added in v0.2.4

func Join(glue string, pieces []string) string

func Md5 added in v0.0.4

func Md5(str string) string

func MkDirDepth added in v0.0.12

func MkDirDepth(path string) error

创建多级文件夹

func MtRand added in v0.2.13

func MtRand(min, max int64) int64

func Mt_rand added in v0.0.13

func Mt_rand(min, max int64) int64

Mt_rand 老版本兼容函数

func PostToString added in v0.1.0

func PostToString(url string, setting HttpSetting) (string, error)

PostToString post获取字符串结果

func Query

func Query(url string, method string, setting HttpSetting) (*http.Response, error)

Query 请求底层函数

func ReadFile

func ReadFile(path string) (string, error)

读取文件

func SendEmail added in v0.0.5

func SendEmail(from string, to []string, title string, content string, host string, port int, password string) error

发送邮件

func StrToTime added in v0.0.6

func StrToTime(str string) int64

func SubStr added in v0.2.8

func SubStr(str string, start int, length int) string

func WriteLine

func WriteLine(path string, data string)

Types

type HttpSetting added in v0.1.0

type HttpSetting struct {
	TimeOut      int                    //超时时间
	Header       map[string]string      //header
	Parameter    map[string]interface{} //参数
	ProxyAddress string                 //代理地址
}

Directories

Path Synopsis
file

Jump to

Keyboard shortcuts

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