编辑
2024-03-08
默认
00
请注意,本文编写于 73 天前,最后修改于 73 天前,其中某些信息可能已经过时。

目录

罗生门
通关代码
感谢支持

罗生门

get之前需要post/jssm,需要在一条tcp链接上

通关代码

golang
package main import ( "crypto/tls" "encoding/json" "os" "strconv" "strings" "time" ) func extractContent(data string) string { splitData := strings.SplitN(data, "\r\n\r\n", 2) if len(splitData) < 2 { return "" } return splitData[1] } type Foo struct { Data []struct { Value float64 `json:"value"` } `json:"data"` State string `json:"state"` Status string `json:"status"` } func main() { var ff = make(map[int]int, 0) for i := 1; i < 6; i++ { // 创建一个*tls.Config实例 conf := &tls.Config{ InsecureSkipVerify: true, } data, err := os.ReadFile("./a") if err != nil { panic(err) } c, err := tls.Dial("tcp", "match.yuanrenxue.cn:443", conf) if err != nil { panic(err) } defer c.Close() c.Write(data) readData := make([]byte, 102400) n, err := c.Read(readData) if err != nil { panic(err) } //println(string(readData[:n])) data, err = os.ReadFile("./b") if err != nil { panic(err) } str := string(data) str = strings.Replace(str, "page=2", "page="+strconv.Itoa(i), 1) data = []byte(str) c.Write(data) time.Sleep(1 * time.Second) n, err = c.Read(readData) if err != nil { panic(err) } println(extractContent(string(readData[:n]))) var f Foo err = json.Unmarshal([]byte(extractContent(string(readData[:n]))), &f) if err != nil { panic(err) } for _, v := range f.Data { ff[int(v.Value)]++ } } max := 0 maxKey := 0 for k, v := range ff { if v > max { max = v maxKey = k } } println(maxKey) }

感谢支持

本文作者:mystyouth

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!