tools

package module
v0.2.17 Latest Latest
Warning

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

Go to latest
Published: May 6, 2021 License: Apache-2.0 Imports: 18 Imported by: 44

README

tools

go的工具集

安装

go get github.com/PeterYangs/tools


1.网络请求

//get请求
str, err := tools.GetToString("http://www.baidu.com",tools.HttpSetting{})

if err != nil {

    log.Fatal(err)

}

fmt.Println(str)





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

str, err := tools.GetToString("http://www.baidu.com",tools.HttpSetting{Parameter: p})

if err != nil {

    log.Fatal(err)

}

fmt.Println(str)




//post
p := map[string]interface{}{"name": []string{"123", "456"}, "age": 1, "nickname": "123"}

str, err := tools.PostToString("http://www.baidu.com",tools.HttpSetting{Parameter: p})

if err != nil {

    log.Fatal(err)

}

fmt.Println(str)






//自定义header
header:=map[string]string{"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"}

tools.GetToString("https://www.baidu.com",tools.HttpSetting{Header: header})





//下载图片(会判断header的类型)
img := "https://item-shopping.c.yimg.jp/i/n/sakuranokoi_udj008_1"
	
err := tools.DownloadImage(img, "image.png", tools.HttpSetting{})






//下载文件
img := "https://item-shopping.c.yimg.jp/i/n/sakuranokoi_udj008_1"

err := tools.DownloadFile(img, "image.png", tools.HttpSetting{})





//proxy
url := "https://www.google.com/"

html, err := tools.GetToString(url, tools.HttpSetting{
		
    ProxyAddress: "socks5://127.0.0.1:4781",
})

if err != nil {

    fmt.Println(err)
}

fmt.Println(html)


//超时设置
tools.GetToString("https://www.baidu.com",tools.HttpSetting{TimeOut: 10})




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.文件操作


//读取文件
data, err :=tools.ReadFile("http.go")




//创建多级文件夹
path := "a/b/c/"

tools.MkDirDepth(path)





//获取文件拓展名
name := "1212.png"

f1, _ := tools.GetExtensionName(name)

fmt.Println(f1)




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

老版本兼容函数

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 HttpClient added in v0.2.16

type HttpClient struct {
	// contains filtered or unexported fields
}

func Client added in v0.2.16

func Client(setting HttpSetting) HttpClient

func (HttpClient) Get added in v0.2.16

func (h HttpClient) Get(url string) (string, error)

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

Jump to

Keyboard shortcuts

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