package huashijie_api import ( "fmt" "io" "math/rand" "net/http" ) var XIAOMI_MODELS = []string{ "M2001J2E", "M1810E5GG", "2304FPN6DG", "23127PN0CC", } func GetWorkDetailResponse(client http.Client, work_id string) ([]byte, int) { req, err := http.NewRequest("GET", "http://app.huashijie.art/api/work/detailV2", nil) if err != nil { panic(err) } q := req.URL.Query() q.Add("visitorId", "-1") q.Add("workId", work_id) q.Add("cur_user_id", "-1") q.Add("platform", "android") os_version := rand.Intn(34-23) + 23 q.Add("os_version", fmt.Sprintf("%d", os_version)) q.Add("version_code", "224") q.Add("device_brand", "Xiaomi") device_model := XIAOMI_MODELS[rand.Intn(len(XIAOMI_MODELS))] q.Add("device_model", device_model) q.Add("token", "") q.Add("channel", "main") headers := map[string][]string{ "Referer": {"*.painterclub.cn", "*.pandapaint.net", "*.huashijie.art"}, "User-Agent": {"okhttp/3.12.0"}, } for k, v := range headers { req.Header[k] = v } req.URL.RawQuery = q.Encode() resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { panic(err) } return body, resp.StatusCode }