修改对 https 协议的支持
diff --git a/webservice.go b/webservice.go
index 067b172..ec8ff4c 100644
--- a/webservice.go
+++ b/webservice.go
@@ -4,6 +4,7 @@
 	"bytes"
 	"crypto/hmac"
 	"crypto/sha1"
+	"crypto/tls"
 	"encoding/hex"
 	"encoding/json"
 	"errors"
@@ -14,6 +15,7 @@
 	"net/http"
 	"net/url"
 	"strconv"
+	"strings"
 	"time"
 )
 
@@ -86,9 +88,7 @@
 }
 
 func (w *WebSession) DoGet(uri string, params map[string]string) (*http.Response, error) {
-	transport := http.Transport{Dial: dailTimeout}
-
-	client := http.Client{Transport: &transport}
+	client := w.NewClient(3)
 
 	full_url := w.BaseUrl + uri
 
@@ -121,18 +121,23 @@
 }
 
 func (w *WebSession) NewClient(timeout int) *http.Client {
-	transport := http.Transport{Dial: func(network, addr string) (net.Conn, error) {
-		default_timeout := time.Duration(timeout) * time.Second
-		return net.DialTimeout(network, addr, default_timeout)
-	}}
-
+	var transport http.Transport
+	if strings.HasPrefix(w.BaseUrl, "https://") {
+		transport = http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
+			TLSHandshakeTimeout: time.Duration(timeout) * time.Second}
+	} else if strings.HasPrefix(w.BaseUrl, "http://") {
+		transport = http.Transport{Dial: func(network, addr string) (net.Conn, error) {
+			default_timeout := time.Duration(timeout) * time.Second
+			return net.DialTimeout(network, addr, default_timeout)
+		}}
+	}
 	return &http.Client{Transport: &transport}
 }
+
 func (w *WebSession) DoPost(uri string, param map[string]string) (*http.Response, error) {
-	transport := http.Transport{Dial: dailTimeout}
-	client := &http.Client{Transport: &transport}
+	client := w.NewClient(3)
 	param["app_id"] = w.AppId
-	//	param["term_id"] = w.TermId
+	param["term_id"] = w.TermId
 	param["sign_method"] = "HMAC"
 	param["session_key"] = w.session_key
 	ts := w.GetTimestamp()
@@ -140,7 +145,6 @@
 	param["sign"] = w.Sign(w.AppId + w.TermId + w.session_key + ts)
 
 	full_url := w.BaseUrl + uri
-	//	log.Debugf("Url=%v", full_url)
 	data, err := json.Marshal(param)
 	if err != nil {
 		return nil, err
@@ -188,9 +192,11 @@
 	params["term_id"] = w.TermId
 	r, err := w.DoGet(uri, params)
 
-	if err != nil || r.StatusCode != 200 {
-		fmt.Println("here")
+	if err != nil {
 		//		log.Errorf("Status = %v, err = %v\n", r.StatusCode, err)
+		return "", err
+	}
+	if r.StatusCode != 200 {
 		return "", errors.New("请求失败")
 	}