修改代码
diff --git a/webservice.go b/webservice.go
index b226af8..d11fc1e 100644
--- a/webservice.go
+++ b/webservice.go
@@ -7,8 +7,10 @@
 	"crypto/hmac"
 	"crypto/sha1"
 	"encoding/json"
+	"errors"
 	"fmt"
 	log "github.com/Sirupsen/logrus"
+	"io/ioutil"
 	"net"
 	"net/http"
 	"net/url"
@@ -25,7 +27,6 @@
 	AppId          string
 	TermId         string
 	Appsecret      string
-	AccessToken    string
 	BaseUrl        string
 	DefaultTimeout int
 	session_key    string
@@ -83,6 +84,7 @@
 	}
 	//	vl.Add("sign", w.Sign(ts, vl.Encode()))
 	full_url = full_url + "?" + vl.Encode()
+	fmt.Printf("url: %v\n", full_url)
 	return client.Get(full_url)
 }
 
@@ -128,8 +130,14 @@
 }
 
 func (w *WebSession) Auth() error {
-
-	//	now := time.Now()
+	token, err := w.getAuthToken()
+	if err != nil {
+		return err
+	}
+	err = w.getAppAccessKey(token)
+	if err != nil {
+		return err
+	}
 	return nil
 }
 
@@ -143,14 +151,14 @@
 	}
 }
 
-func (w *WebSession) GetAuthToken() {
+func (w *WebSession) getAuthToken() (string, error) {
 	type FormJson struct {
 		AppId       string `json:"app_id"`
 		TermId      string `json:"term_id"`
 		AccessToken string `json:"access_token"`
 	}
 
-	uri := fmt.Sprintf("/yktapi/services/authservice/getauth/%06d/getaccesstoken", w.AppId)
+	uri := fmt.Sprintf("/yktapi/services/authservice/getauth/%v/getaccesstoken", w.AppId)
 
 	params := make(map[string]string)
 	params["term_id"] = w.TermId
@@ -159,62 +167,57 @@
 	if err != nil || r.StatusCode != 200 {
 		fmt.Println("here")
 		//		log.Errorf("Status = %v, err = %v\n", r.StatusCode, err)
-		return
+		return "", errors.New("请求失败")
 	}
 
-	if r.ContentLength == -1 {
-		log.Error("no response")
-		return
-	}
-	contents := make([]byte, r.ContentLength)
-	r.Body.Read(contents)
+	body, err := ioutil.ReadAll(r.Body)
+	r.Body.Close()
 
-	var s FormJson
-	err = json.Unmarshal(contents, &s)
+	s := &FormJson{}
+	err = json.Unmarshal(body, &s)
 	if err != nil {
 		log.Errorf("json unmarshal err %v", err)
+		return "", errors.New("解析失败")
 	}
-
-	w.AccessToken = s.AccessToken
-
-	return
+	return s.AccessToken, nil
 }
-func (w *WebSession) GetAppAccessKey() {
+func (w *WebSession) getAppAccessKey(token string) error {
 	type FormJson struct {
-		AppId       string `json:"app_id"`
-		TermId      string `json:"term_id"`
-		session_key string `json:"session_key"`
-		card_key    string `json:"card_key"`
+		AppId      string `json:"app_id"`
+		TermId     string `json:"term_id"`
+		SessionKey string `json:"session_key"`
+		CardKey    string `json:"card_key"`
 	}
 
-	uri := fmt.Sprintf("/yktapi/services/authservice/getauth/%06d", w.AppId)
+	uri := fmt.Sprintf("/yktapi/services/authservice/getauth/%v", w.AppId)
 
 	params := make(map[string]string)
 	params["term_id"] = w.TermId
-	params["access_token"] = w.AccessToken
+	params["access_token"] = token
 	params["timestamp"] = w.GetTimestamp()
 	params["v"] = "1"
-	params["sign"] = w.Sign(w.AccessToken + params["timestamp"])
-	params["sign_method"] = "HMAC-SHA1"
+	params["sign"] = w.Sign(token + params["timestamp"])
+	params["sign_method"] = "HMAC"
 
-	r, err := w.DoPost(uri, params, nil)
+	r, err := w.DoGet(uri, params)
 	if err != nil || r.StatusCode != 200 {
-		log.Errorf("Status = %v, err = %v\n", r.StatusCode, err)
+		log.Errorf(" err = %v\n", err)
+		return err
 	}
-	if r.ContentLength == -1 {
-		log.Error("no response")
-	}
-	contents := make([]byte, r.ContentLength)
-	r.Body.Read(contents)
 
-	var s FormJson
-	err = json.Unmarshal(contents, &s)
+	body, err := ioutil.ReadAll(r.Body)
+	r.Body.Close()
+	//	contents := make([]byte, r.ContentLength)
+	//	r.Body.Read(contents)
+
+	s := &FormJson{}
+	err = json.Unmarshal(body, &s)
+	fmt.Printf("[%v]\n", string(body))
 	if err != nil {
 		log.Errorf("json unmarshal err %v", err)
 	}
-	w.session_key = s.session_key
-	//keep card_keyl
-	return
+	w.session_key = s.SessionKey
+	return nil
 }
 func (w *WebSession) PushTransdtl(msg MessageWriter) {
 	type FormJson struct {
@@ -253,9 +256,11 @@
 }
 
 func main() {
-	websession := NewSession("10001", "", "100", "172.28.200.122:8080", 3)
+	websession := NewSession("10001", "", "100", "http://172.28.200.122:8080", 3)
 	fmt.Println(websession.AppId)
-	websession.GetAuthToken()
+	if err := websession.Auth(); err != nil {
+		fmt.Printf("Error : %v\n", err)
+	}
 	//	websession.GetAppAccessKey()
 
 }