From 2ad0fadf97e433bf76eea2b90edec03de84d64e6 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期三, 08 一月 2020 10:52:17 +0800 Subject: [PATCH] personPicUrl submit add ?collection=persistent --- extend/util/util.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/extend/util/util.go b/extend/util/util.go index 555bc37..38017e1 100644 --- a/extend/util/util.go +++ b/extend/util/util.go @@ -2,13 +2,16 @@ import ( "archive/zip" + "basic.com/valib/logger.git" "bytes" "crypto/md5" + "crypto/tls" "encoding/hex" "encoding/json" "image" "io" "io/ioutil" + "net" "net/http" "os" "path/filepath" @@ -325,4 +328,41 @@ } return hex.EncodeToString(_md5.Sum(nil)),nil +} + +func DownLoad(url string)([]byte,error){ + connectTimeout := 5 * time.Second + readWriteTimeout := 10000 * time.Millisecond + c := &http.Client{ + Transport: &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Dial: TimeoutDialer(connectTimeout, readWriteTimeout), + }, + } + req, err := http.NewRequest("GET",url,nil) + if err != nil { + return nil,err + } + resp,err := c.Do(req) + + body, err1 := ioutil.ReadAll(resp.Body) + if err1 != nil { + resp.Body.Close() + return nil,err + }else { + logger.Debug("Download success") + } + resp.Body.Close() + return body,nil +} + +func TimeoutDialer(cTimeout time.Duration, rwTimeout time.Duration) func(net, addr string) (c net.Conn, err error) { + return func(netw, addr string) (net.Conn, error) { + conn, err := net.DialTimeout(netw, addr, cTimeout) + if err != nil { + return nil, err + } + conn.SetDeadline(time.Now().Add(rwTimeout)) + return conn, nil + } } \ No newline at end of file -- Gitblit v1.8.0