add default keepalvies false

This commit is contained in:
eson 2018-12-18 02:17:04 +08:00
parent 30876ae2bf
commit 823e5e0bcf
2 changed files with 15 additions and 14 deletions

View File

@ -36,8 +36,14 @@ func FromHTTPResponse(resp *http.Response) (*Response, error) {
content := "" content := ""
srcReader := bytes.NewReader(srcbuf) srcReader := bytes.NewReader(srcbuf)
r, err := gzip.NewReader(srcReader) if r, err := gzip.NewReader(srcReader); err == nil {
if err == nil { defer r.Close()
buf, err := ioutil.ReadAll(r)
if err != nil {
panic(err)
}
content = string(buf)
} else if r, err := zlib.NewReader(srcReader); err == nil {
defer r.Close() defer r.Close()
buf, err := ioutil.ReadAll(r) buf, err := ioutil.ReadAll(r)
if err != nil { if err != nil {
@ -45,17 +51,7 @@ func FromHTTPResponse(resp *http.Response) (*Response, error) {
} }
content = string(buf) content = string(buf)
} else { } else {
r, err := zlib.NewReader(srcReader) content = string(srcbuf)
if err == nil {
defer r.Close()
buf, err := ioutil.ReadAll(r)
if err != nil {
panic(err)
}
content = string(buf)
} else {
content = string(srcbuf)
}
} }
return &Response{DContent: content, GResponse: resp}, nil return &Response{DContent: content, GResponse: resp}, nil

View File

@ -154,6 +154,9 @@ const (
// CDialTimeout 一个Connect过程的Timeout // CDialTimeout 一个Connect过程的Timeout
CDialTimeout // 支持time.Duration 和 int(秒为单位) CDialTimeout // 支持time.Duration 和 int(秒为单位)
// CKeepAlives 默认不KeepAlives, 容易被一直KeepAlives 没关闭链接
CKeepAlives
// CProxy 代理链接 // CProxy 代理链接
CProxy // http, https, socks5 CProxy // http, https, socks5
@ -173,7 +176,7 @@ const (
// NewSession 创建Session // NewSession 创建Session
func NewSession() *Session { func NewSession() *Session {
client := &http.Client{} client := &http.Client{}
transport := &http.Transport{DisableCompression: true} transport := &http.Transport{DisableCompression: true, DisableKeepAlives: true}
client.Transport = transport client.Transport = transport
cjar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List}) cjar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
@ -206,6 +209,8 @@ func (ses *Session) SetConfig(typeConfig TypeConfig, values interface{}) {
} }
case CDialTimeout: case CDialTimeout:
// 没时间实现这些小细节 // 没时间实现这些小细节
case CKeepAlives:
ses.transport.DisableKeepAlives = !values.(bool)
case CCookiejar: case CCookiejar:
v := values.(bool) v := values.(bool)
if v { if v {