|
@@ -540,8 +540,16 @@ func (s *Script) LoadScript(site *string, code, script_file string, newstate boo
|
|
|
base64UrlReg := regexp.MustCompile("data:image")
|
|
|
indexArr := base64UrlReg.FindStringIndex(url)
|
|
|
name, size, ftype, fid := "", "", "", ""
|
|
|
+ tmpUrl := ""
|
|
|
var ret []byte
|
|
|
var err error
|
|
|
+ var mycookie []*http.Cookie
|
|
|
+ if cookie != "{}" {
|
|
|
+ json.Unmarshal([]byte(cookie), &mycookie)
|
|
|
+ } else {
|
|
|
+ mycookie = make([]*http.Cookie, 0)
|
|
|
+ }
|
|
|
+
|
|
|
//base64 url
|
|
|
if len(indexArr) == 2 { //base64 http://www.mmjyjt.com/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAOwCAYAAAD
|
|
|
//截取base64
|
|
@@ -555,14 +563,9 @@ func (s *Script) LoadScript(site *string, code, script_file string, newstate boo
|
|
|
url, name, size, ftype, fid = util.UploadFile(s.SCode, fileName, "", ret)
|
|
|
}
|
|
|
} else {
|
|
|
- var mycookie []*http.Cookie
|
|
|
- if cookie != "{}" {
|
|
|
- json.Unmarshal([]byte(cookie), &mycookie)
|
|
|
- } else {
|
|
|
- mycookie = make([]*http.Cookie, 0)
|
|
|
- }
|
|
|
fileName = strings.TrimSpace(fileName)
|
|
|
url = strings.TrimSpace(url)
|
|
|
+ tmpUrl = url
|
|
|
ret = DownloadFile(s.Downloader, url, method, util.GetTable(param), util.GetTable(head), mycookie, s.Encoding, s.Userproxy, ishttps, s.SCode, s.Timeout)
|
|
|
url, name, size, ftype, fid = util.UploadFile(s.SCode, fileName, url, ret)
|
|
|
if strings.TrimSpace(ftype) == "" {
|
|
@@ -579,6 +582,29 @@ func (s *Script) LoadScript(site *string, code, script_file string, newstate boo
|
|
|
logger.Info("Error File Type:", bttype, url)
|
|
|
size, ftype, fid = "", "", ""
|
|
|
}
|
|
|
+ } else if *site == "中国政府采购网" && tmpUrl != "" { //中国政府采购网附件大小异常,限制IP所致
|
|
|
+ if size == "4.1 KB" || size == "4.2 KB" {
|
|
|
+ times := 1
|
|
|
+ for { //重试三次
|
|
|
+ if times > 3 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ //http://www.ccgp.gov.cn/cggg/dfgg/jzxcs/202302/t20230210_19437644.htm
|
|
|
+ ret = DownloadFile(s.Downloader, tmpUrl, method, util.GetTable(param), util.GetTable(head), mycookie, s.Encoding, s.Userproxy, ishttps, s.SCode, s.Timeout)
|
|
|
+ bs := bytes.NewReader(ret)
|
|
|
+ bsLen := qu.ConvertFileSize(bs.Len())
|
|
|
+ if bsLen != "4.1 KB" && bsLen != "4.2 KB" && bsLen != "0 B" {
|
|
|
+ url, name, size, ftype, fid = util.UploadFile(s.SCode, fileName, tmpUrl, ret)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ times++
|
|
|
+ }
|
|
|
+ if size == "4.1 KB" || size == "4.2 KB" { //重试后异常
|
|
|
+ fid = ""
|
|
|
+ ftype = ""
|
|
|
+ name = ""
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
S.Push(lua.LString(url))
|
|
|
S.Push(lua.LString(name))
|