diff --git a/model/curl_model.go b/model/curl_model.go index 0f94e73..422450a 100644 --- a/model/curl_model.go +++ b/model/curl_model.go @@ -77,12 +77,7 @@ func ParseTheFile(path string) (curl *CURL, err error) { key = strings.Trim(key, "'") curl.Data["curl"] = []string{key} // 去除首尾空格 - data = strings.TrimFunc(data, func(r rune) bool { - if r == ' ' || r == '\\' || r == '\n' { - return true - } - return false - }) + data = removeSpaces(data) continue } if strings.HasPrefix(data, "-") { @@ -107,12 +102,7 @@ func ParseTheFile(path string) (curl *CURL, err error) { data = "" } // 去除首尾空格 - data = strings.TrimFunc(data, func(r rune) bool { - if r == ' ' || r == '\\' || r == '\n' { - return true - } - return false - }) + data = removeSpaces(data) if key == "" { continue } @@ -121,6 +111,16 @@ func ParseTheFile(path string) (curl *CURL, err error) { return } +func removeSpaces(data string) string { + data = strings.TrimFunc(data, func(r rune) bool { + if r == ' ' || r == '\\' || r == '\n' { + return true + } + return false + }) + return data +} + // String string func (c *CURL) String() (url string) { curlByte, _ := json.Marshal(c) diff --git a/server/client/http_client.go b/server/client/http_client.go index 2525bc7..16047bc 100644 --- a/server/client/http_client.go +++ b/server/client/http_client.go @@ -64,7 +64,9 @@ func HTTPRequest(chanID uint64, request *model.Request) (resp *http.Response, re return } req.Close = true - tr := &http.Transport{} + tr := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } if request.HTTP2 { // 使用真实证书 验证证书 模拟真实请求 tr = &http.Transport{ @@ -73,11 +75,6 @@ func HTTPRequest(chanID uint64, request *model.Request) (resp *http.Response, re if err = http2.ConfigureTransport(tr); err != nil { return } - } else { - // 跳过证书验证 - tr = &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - } } client = &http.Client{ Transport: tr, diff --git a/server/client/http_longclinet/long_clinet.go b/server/client/http_longclinet/long_clinet.go index fb76e32..556ddc5 100644 --- a/server/client/http_longclinet/long_clinet.go +++ b/server/client/http_longclinet/long_clinet.go @@ -43,7 +43,16 @@ func setClient(i uint64, request *model.Request) *http.Client { // createLangHTTPClient 初始化长连接客户端参数 func createLangHTTPClient(request *model.Request) *http.Client { - tr := &http.Transport{} + tr := &http.Transport{ + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).DialContext, + MaxIdleConns: 0, // 最大连接数,默认0无穷大 + MaxIdleConnsPerHost: request.MaxCon, // 对每个host的最大连接数量(MaxIdleConnsPerHost<=MaxIdleConns) + IdleConnTimeout: 90 * time.Second, // 多长时间未使用自动关闭连接 + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } if request.HTTP2 { // 使用真实证书 验证证书 模拟真实请求 tr = &http.Transport{ @@ -57,18 +66,6 @@ func createLangHTTPClient(request *model.Request) *http.Client { TLSClientConfig: &tls.Config{InsecureSkipVerify: false}, } _ = http2.ConfigureTransport(tr) - } else { - // 跳过证书验证 - tr = &http.Transport{ - DialContext: (&net.Dialer{ - Timeout: 30 * time.Second, - KeepAlive: 30 * time.Second, - }).DialContext, - MaxIdleConns: 0, // 最大连接数,默认0无穷大 - MaxIdleConnsPerHost: request.MaxCon, // 对每个host的最大连接数量(MaxIdleConnsPerHost<=MaxIdleConns) - IdleConnTimeout: 90 * time.Second, // 多长时间未使用自动关闭连接 - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - } } return &http.Client{ Transport: tr, diff --git a/server/golink/http_link.go b/server/golink/http_link.go index a08a8bb..4f48a42 100644 --- a/server/golink/http_link.go +++ b/server/golink/http_link.go @@ -63,7 +63,7 @@ func sendList(chanID uint64, requestList []*model.Request) (isSucceed bool, errC func send(chanID uint64, request *model.Request) (bool, int, uint64, int64) { var ( isSucceed = false - errCode = model.HTTPOk + errCode int body []byte contentLength = int64(0) err error diff --git a/server/golink/websocket_link.go b/server/golink/websocket_link.go index 1ab38d1..43de170 100644 --- a/server/golink/websocket_link.go +++ b/server/golink/websocket_link.go @@ -72,7 +72,7 @@ func webSocketRequest(chanID uint64, ch chan<- *model.RequestResults, i uint64, var ( startTime = time.Now() isSucceed = false - errCode = model.HTTPOk + errCode int msg []byte ) // 需要发送的数据 diff --git a/server/statistics/statistics.go b/server/statistics/statistics.go index 90e96c3..bc9b573 100644 --- a/server/statistics/statistics.go +++ b/server/statistics/statistics.go @@ -122,7 +122,7 @@ func printTop(requestTimeList []uint64) { if requestTimeList == nil { return } - all := tools.Uint64List{} + var all tools.Uint64List all = requestTimeList sort.Sort(all) fmt.Println("tp90:", fmt.Sprintf("%.3f", float64(all[int(float64(len(all))*0.90)]/1e6)))