// main
package main
import (
"crypto/md5"
"crypto/tls"
"fmt"
"io/ioutil"
"net/http"
"sync"
)
var count int32
var mutex sync.Mutex
func miniCDN() {
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
resp, err := client.Get("https://10.30.1.172:8433/download/temp2/ad/cqssdtb1104.png")
defer resp.Body.Close()
defer resp.
if err != nil {
fmt.Println("error:", err)
return
}
body, err := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
fmt.Println("error:", err)
return
}
_md5 := md5.New()
_md5.Write(body)
_md5_str := fmt.Sprintf("%x", _md5.Sum([]byte("")))
if _md5_str != "3654c052a0bf9cfc5d894e942034b286" {
fmt.Println("---- MD5效验失败")
return
}
mutex.Lock()
count += 1
fmt.Println("---- 成功 -> ", count)
defer mutex.Unlock()
}
func main() {
count = 0
for i := 0; i < 10000; i++ {
go miniCDN()
}
str := ""
fmt.Scanf("%s", &str)
}
使用Go 协程对web站点进行压力测试
最新推荐文章于 2023-08-03 18:13:22 发布