|
@@ -27,7 +27,6 @@ import (
|
27
|
27
|
"net"
|
28
|
28
|
"net/http"
|
29
|
29
|
"net/url"
|
30
|
|
- "strconv"
|
31
|
30
|
"strings"
|
32
|
31
|
"sync"
|
33
|
32
|
"time"
|
|
@@ -126,7 +125,7 @@ func parseUrlParamsMap(reqUrl string) (params map[string]string, err *HttpCaller
|
126
|
125
|
/**
|
127
|
126
|
内部方法: 进行参数的签名处理
|
128
|
127
|
*/
|
129
|
|
-func signParams(params map[string]string, api string, version string, ak string, sk string) (headMaps map[string]string) {
|
|
128
|
+func signParams(params map[string]string, api string, version string, ak string, sk string, time_stamp string) (headMaps map[string]string) {
|
130
|
129
|
headMaps = make(map[string]string)
|
131
|
130
|
|
132
|
131
|
params[API_NAME_KEY] = api
|
|
@@ -136,9 +135,9 @@ func signParams(params map[string]string, api string, version string, ak string,
|
136
|
135
|
headMaps[VERSION_KEY] = version
|
137
|
136
|
|
138
|
137
|
//https://currentmillis.com/ calc current time with varies languages
|
139
|
|
- v := time.Now().UnixNano() / 1000000
|
140
|
|
- params[TIMESTAMP_KEY] = strconv.FormatInt(v, 10)
|
141
|
|
- headMaps[TIMESTAMP_KEY] = strconv.FormatInt(v, 10)
|
|
138
|
+ //v := time.Now().UnixNano() / 1000000
|
|
139
|
+ params[TIMESTAMP_KEY] = time_stamp
|
|
140
|
+ headMaps[TIMESTAMP_KEY] = time_stamp
|
142
|
141
|
|
143
|
142
|
if ak != "" {
|
144
|
143
|
params[ACCESS_KEY] = ak
|
|
@@ -164,7 +163,7 @@ func signParams(params map[string]string, api string, version string, ak string,
|
164
|
163
|
当处理正常时,异常为nil
|
165
|
164
|
|
166
|
165
|
*/
|
167
|
|
-func Invoke(params HttpParams) (str string, rtnHeaders map[string][]string, hcError *HttpCallerException) {
|
|
166
|
+func Invoke(params HttpParams, time_stamp string) (str string, rtnHeaders map[string][]string, hcError *HttpCallerException) {
|
168
|
167
|
//init rtnHeaders
|
169
|
168
|
rtnHeaders = make(map[string][]string)
|
170
|
169
|
|
|
@@ -213,7 +212,7 @@ func Invoke(params HttpParams) (str string, rtnHeaders map[string][]string, hcEr
|
213
|
212
|
|
214
|
213
|
reqUrl := params.requestUrl
|
215
|
214
|
|
216
|
|
- defaultContentType := "application/x-www-form-urlencoded"
|
|
215
|
+ defaultContentType := "application/json;charset=utf-8"
|
217
|
216
|
if params.ct.jsonBody != "" {
|
218
|
217
|
json.Marshal(params.ct.jsonBody)
|
219
|
218
|
//if err == nil {
|
|
@@ -244,7 +243,7 @@ func Invoke(params HttpParams) (str string, rtnHeaders map[string][]string, hcEr
|
244
|
243
|
printDebug("urlparams", urlParams)
|
245
|
244
|
mergeTwoMaps(urlParams, params.params)
|
246
|
245
|
printDebug("merged urlparams", urlParams)
|
247
|
|
- signHeaders := signParams(urlParams, params.api, params.version, params.ak, params.sk)
|
|
246
|
+ signHeaders := signParams(urlParams, params.api, params.version, params.ak, params.sk, time_stamp)
|
248
|
247
|
printDebug("signHeaders", signHeaders)
|
249
|
248
|
|
250
|
249
|
req.Header.Add("Content-Type", defaultContentType)
|