mirror of
https://github.com/Mrs4s/go-cqhttp.git
synced 2025-05-04 19:17:37 +08:00
update MiraiGo & fix user-agent & fix file lock.
This commit is contained in:
parent
a5a842a337
commit
fe83ce716e
@ -135,6 +135,7 @@ func (bot *CQBot) UploadLocalImageAsPrivate(userId int64, img *LocalImageElement
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer f.Close()
|
||||
return bot.Client.UploadPrivateImage(userId, f)
|
||||
}
|
||||
|
||||
|
@ -810,7 +810,7 @@ func (bot *CQBot) ToElement(t string, d map[string]string, group bool) (m interf
|
||||
_, err = v.video.Read(header)
|
||||
if !bytes.Equal(header, []byte{0x66, 0x74, 0x79, 0x70}) { // ftyp
|
||||
_, _ = v.video.Seek(0, io.SeekStart)
|
||||
hash, _ := utils.GetMd5AndLength(v.video)
|
||||
hash, _ := utils.ComputeMd5AndLength(v.video)
|
||||
cacheFile := path.Join(global.CACHE_PATH, hex.EncodeToString(hash[:])+".mp4")
|
||||
if global.PathExists(cacheFile) {
|
||||
goto ok
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
|
||||
var (
|
||||
client = &http.Client{
|
||||
Timeout: time.Second * 30,
|
||||
Timeout: time.Second * 120,
|
||||
Transport: &http.Transport{
|
||||
Proxy: func(request *http.Request) (u *url.URL, e error) {
|
||||
if Proxy == "" {
|
||||
@ -47,6 +47,8 @@ var (
|
||||
Proxy string
|
||||
|
||||
ErrOverSize = errors.New("oversize")
|
||||
|
||||
UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66"
|
||||
)
|
||||
|
||||
func GetBytes(url string) ([]byte, error) {
|
||||
@ -54,7 +56,7 @@ func GetBytes(url string) ([]byte, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req.Header["User-Agent"] = []string{"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.61"}
|
||||
req.Header["User-Agent"] = []string{UserAgent}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -74,7 +76,7 @@ func GetBytes(url string) ([]byte, error) {
|
||||
return body, nil
|
||||
}
|
||||
|
||||
func DownloadFile(url, path string, limit int64) error {
|
||||
func DownloadFile(url, path string, limit int64, headers map[string]string) error {
|
||||
file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -84,6 +86,14 @@ func DownloadFile(url, path string, limit int64) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if headers != nil {
|
||||
for k, v := range headers {
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
}
|
||||
if _, ok := headers["User-Agent"]; ok {
|
||||
req.Header["User-Agent"] = []string{UserAgent}
|
||||
}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -101,7 +111,7 @@ func DownloadFile(url, path string, limit int64) error {
|
||||
|
||||
func DownloadFileMultiThreading(url, path string, limit int64, threadCount int, headers map[string]string) error {
|
||||
if threadCount < 2 {
|
||||
return DownloadFile(url, path, limit)
|
||||
return DownloadFile(url, path, limit, headers)
|
||||
}
|
||||
type BlockMetaData struct {
|
||||
BeginOffset int64
|
||||
@ -133,6 +143,9 @@ func DownloadFileMultiThreading(url, path string, limit int64, threadCount int,
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
}
|
||||
if _, ok := headers["User-Agent"]; ok {
|
||||
req.Header["User-Agent"] = []string{UserAgent}
|
||||
}
|
||||
req.Header.Set("range", "bytes=0-")
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
@ -194,6 +207,9 @@ func DownloadFileMultiThreading(url, path string, limit int64, threadCount int,
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
}
|
||||
if _, ok := headers["User-Agent"]; ok {
|
||||
req.Header["User-Agent"] = []string{UserAgent}
|
||||
}
|
||||
req.Header.Set("range", "bytes="+strconv.FormatInt(block.BeginOffset, 10)+"-"+strconv.FormatInt(block.EndOffset, 10))
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
|
2
go.mod
2
go.mod
@ -3,7 +3,7 @@ module github.com/Mrs4s/go-cqhttp
|
||||
go 1.15
|
||||
|
||||
require (
|
||||
github.com/Mrs4s/MiraiGo v0.0.0-20210108162828-29f670b7201f
|
||||
github.com/Mrs4s/MiraiGo v0.0.0-20210108202403-fb15970f2606
|
||||
github.com/dustin/go-humanize v1.0.0
|
||||
github.com/gin-contrib/pprof v1.3.0
|
||||
github.com/gin-gonic/gin v1.6.3
|
||||
|
4
go.sum
4
go.sum
@ -1,7 +1,7 @@
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/Mrs4s/MiraiGo v0.0.0-20210108162828-29f670b7201f h1:I+rP4wxfLXZw6UpYCeNXWTItmeO4FPw1ZUrRjTVbAME=
|
||||
github.com/Mrs4s/MiraiGo v0.0.0-20210108162828-29f670b7201f/go.mod h1:HW2e375lCQiRwtuA/LV6ZVTsi7co1TRfBn+L5Ow77Bo=
|
||||
github.com/Mrs4s/MiraiGo v0.0.0-20210108202403-fb15970f2606 h1:SD8GLZcVmgbvYiojJhv698AJNVB1YHqx2QI63Qz4zHo=
|
||||
github.com/Mrs4s/MiraiGo v0.0.0-20210108202403-fb15970f2606/go.mod h1:HW2e375lCQiRwtuA/LV6ZVTsi7co1TRfBn+L5Ow77Bo=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
|
Loading…
x
Reference in New Issue
Block a user