init
This commit is contained in:
266
utils/request_test.go
Normal file
266
utils/request_test.go
Normal file
@ -0,0 +1,266 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"log"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
type (
|
||||
// BaiDuError 错误提示
|
||||
BaiDuError struct {
|
||||
Error string `json:"error"`
|
||||
ErrorDescription string `json:"error_description"`
|
||||
}
|
||||
// BaiDuAccessToken AccessToken信息
|
||||
BaiDuAccessToken struct {
|
||||
RefreshToken string `json:"refresh_token"`
|
||||
ExpiresIn int `json:"expires_in"`
|
||||
Scope string `json:"scope"`
|
||||
SessionKey string `json:"session_key"`
|
||||
AccessToken string `json:"access_token"`
|
||||
SessionSecret string `json:"session_secret"`
|
||||
BaiDuError
|
||||
}
|
||||
// BaiDuSpeechQuick SpeechQuick信息
|
||||
BaiDuSpeechQuick struct {
|
||||
ErrNo int `json:"err_no"`
|
||||
ErrMsg string `json:"err_msg"`
|
||||
SN string `json:"sn"`
|
||||
Result []string `json:"result"`
|
||||
}
|
||||
// BaiDuRobotDialogue 机器人对话
|
||||
BaiDuRobotDialogue struct {
|
||||
ErrorCode int `json:"error_code"`
|
||||
ErrorMsg string `json:"error_msg"`
|
||||
Result struct {
|
||||
Version string `json:"version"`
|
||||
ServiceID string `json:"service_id"`
|
||||
LogID string `json:"log_id"`
|
||||
InteractionID string `json:"interaction_id"`
|
||||
Response struct {
|
||||
Status int `json:"status"`
|
||||
Msg string `json:"msg"`
|
||||
ActionList []struct {
|
||||
Confidence float64 `json:"confidence"`
|
||||
ActionID string `json:"action_id"`
|
||||
Say string `json:"say"`
|
||||
CustomReply string `json:"custom_reply"`
|
||||
Type string `json:"type"`
|
||||
} `json:"action_list"`
|
||||
Schema struct {
|
||||
Confidence float64 `json:"confidence"`
|
||||
Intent string `json:"intent"`
|
||||
IntentConfidence float64 `json:"intent_confidence"`
|
||||
Slots []struct {
|
||||
Confidence float64 `json:"confidence"`
|
||||
Begin int `json:"begin"`
|
||||
Length int `json:"length"`
|
||||
OriginalWord string `json:"original_word"`
|
||||
NormalizedWord string `json:"normalized_word"`
|
||||
WordType string `json:"word_type"`
|
||||
Name string `json:"name"`
|
||||
SessionOffset string `json:"session_offset"`
|
||||
MergeMethod string `json:"merge_method"`
|
||||
} `json:"slots"`
|
||||
} `json:"schema"`
|
||||
} `json:"response"`
|
||||
} `json:"result"`
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
baiDuClientID string = "Sy0tLT7bHWE2RhollVOqelHq"
|
||||
baiDuClientSecret string = "jSr0a2Isaivi1yvgk2TXlB7tqg21Gf1m"
|
||||
//baiDuClientID string = "MDNsII2jkUtbF729GQOZt7FS"
|
||||
//baiDuClientSecret string = "0vWCVCLsbWHMSH1wjvxaDq4VmvCZM2O9"
|
||||
|
||||
// baiDuRequestURLForAccessToken 获取token地址
|
||||
baiDuRequestURLForAccessToken string = "https://aip.baidubce.com/oauth/2.0/token"
|
||||
// baiDuRequestURLForVoiceQuick 语音识别极速版
|
||||
baiDuRequestURLForVoiceQuick string = "https://vop.baidu.com/pro_api"
|
||||
// baiDuRequestURLForRobotDialogue 语音机器人对话
|
||||
baiDuRequestURLForRobotDialogue string = "https://aip.baidubce.com/rpc/2.0/unit/bot/chat"
|
||||
//baiDuRequestURLForRobotDialogue string = "https://aip.baidubce.com/rpc/2.0/unit/service/chat"
|
||||
)
|
||||
|
||||
func TestNewClient(t *testing.T) {
|
||||
//file := "../upload/20210624/16k1.pcm"
|
||||
//
|
||||
client2 := NewClient(baiDuRequestURLForAccessToken, MethodForPost, map[string]interface{}{
|
||||
"grant_type": "client_credentials", "client_id": baiDuClientID, "client_secret": baiDuClientSecret,
|
||||
})
|
||||
resp2, err := client2.Request(RequestBodyFormatForFormData)
|
||||
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
return
|
||||
}
|
||||
response := new(BaiDuAccessToken)
|
||||
|
||||
_ = FromJSONBytes(resp2, response)
|
||||
|
||||
if response.Error != "" {
|
||||
t.Logf("获取百度AccessToken错误:%v - %v", response.Error, response.ErrorDescription)
|
||||
return
|
||||
}
|
||||
//t.Log(response.AccessToken)
|
||||
//
|
||||
//reader, err := os.OpenFile(file, os.O_RDONLY, 0666)
|
||||
//
|
||||
//if err != nil {
|
||||
// t.Log(err)
|
||||
// return
|
||||
//}
|
||||
//defer reader.Close()
|
||||
//
|
||||
//content, _ := ioutil.ReadAll(reader)
|
||||
//
|
||||
//cuid := ""
|
||||
//
|
||||
//netitfs, err := net.Interfaces()
|
||||
//
|
||||
//if err != nil {
|
||||
// cuid = "anonymous_sqzn"
|
||||
//} else {
|
||||
// for _, itf := range netitfs {
|
||||
// if cuid = itf.HardwareAddr.String(); len(cuid) > 0 {
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//t.Log(cuid)
|
||||
//t.Log(base64.StdEncoding.EncodeToString(content))
|
||||
//t.Log(fmt.Sprintf("%d", len(content)))
|
||||
//
|
||||
//_params := map[string]interface{}{
|
||||
// "format": file[len(file)-3:],
|
||||
// "rate": 16000,
|
||||
// "dev_pid": 1537,
|
||||
// "channel": 1,
|
||||
// "token": "24.1f876b06d070d7403c90832dddb813cb.2592000.1627110943.282335-24431674",
|
||||
// "cuid": cuid,
|
||||
// "speech": base64.StdEncoding.EncodeToString(content),
|
||||
// "len": len(content),
|
||||
//}
|
||||
//_json, _ := json.Marshal(_params)
|
||||
//
|
||||
//req, err := http.NewRequest("GET", "http://vop.baidu.com/server_api", bytes.NewBuffer(_json))
|
||||
//
|
||||
//if err != nil {
|
||||
// t.Log(err)
|
||||
// return
|
||||
//}
|
||||
//resp := new(http.Response)
|
||||
//
|
||||
//client := new(http.Client)
|
||||
//
|
||||
//if resp, err = client.Do(req); err != nil {
|
||||
// t.Log(err)
|
||||
// return
|
||||
//}
|
||||
//bytes, err := ioutil.ReadAll(resp.Body)
|
||||
//defer resp.Body.Close()
|
||||
//
|
||||
//response1 := new(BaiDuSpeechQuick)
|
||||
//
|
||||
//_ = FromJSONBytes(bytes, response1)
|
||||
//
|
||||
//t.Logf("resp:%v\n", AnyToJSON(response1))
|
||||
|
||||
serviceID := "1101579"
|
||||
|
||||
params2 := map[string]interface{}{
|
||||
"version": "2.0",
|
||||
//"service_id": serviceID,
|
||||
"bot_id": serviceID,
|
||||
"log_id": Md5String(AnyToJSON(2040256374931197952), serviceID),
|
||||
"session_id": Sha256String(AnyToJSON(2040256374931197952) + serviceID),
|
||||
"request": map[string]interface{}{
|
||||
"query": "公告",
|
||||
"user_id": AnyToJSON(2040256374931197952),
|
||||
"query_info": map[string]interface{}{
|
||||
"asr_candidates": []string{},
|
||||
"source": "KEYBOARD",
|
||||
"type": "TEXT",
|
||||
},
|
||||
},
|
||||
"bernard_level": 1,
|
||||
}
|
||||
t.Log(params2)
|
||||
client3 := NewClient(baiDuRequestURLForRobotDialogue+"?access_token="+response.AccessToken,
|
||||
MethodForPost, params2)
|
||||
|
||||
resp3, err := client3.Request(RequestBodyFormatForRaw, Headers{ContentType: "application/json; charset=UTF-8"})
|
||||
|
||||
if err != nil {
|
||||
t.Log(err)
|
||||
return
|
||||
}
|
||||
response3 := new(BaiDuRobotDialogue)
|
||||
|
||||
_ = FromJSONBytes(resp3, response3)
|
||||
|
||||
t.Log(AnyToJSON(response3))
|
||||
|
||||
return
|
||||
//
|
||||
//client1 := NewClient("http://vop.baidu.com/server_api", MethodForPost, params)
|
||||
//
|
||||
//resp1 := make([]byte, 0)
|
||||
//
|
||||
//if resp1, err = client1.Request(RequestBodyFormatForRaw, Headers{
|
||||
// ContentType: "application/json",
|
||||
//}); err != nil {
|
||||
// t.Log(err)
|
||||
// return
|
||||
//}
|
||||
//response1 := new(BaiDuSpeechQuick)
|
||||
//
|
||||
//_ = FromJSONBytes(resp1, response1)
|
||||
//
|
||||
//t.Logf("resp:%v\n", AnyToJSON(response1))
|
||||
}
|
||||
|
||||
func TestClient_Request(t *testing.T) {
|
||||
request := NewClient("https://image1.ljcdn.com/hdic-resblock/4494aa6e-4165-4f4a-b7ba-4ab095dd1ffa.JPG.710x400.jpg", "GET", nil)
|
||||
|
||||
resp, err := request.Request(RequestBodyFormatForFormData, Headers{
|
||||
Others: map[string]string{
|
||||
"Referer": "http://drc.hefei.gov.cn/group4/M00/07/4D/wKgEIWEM9X-AXLhsAAONk965l5o088.png",
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
|
||||
"Cookie": "__jsluid_h=9fcece02433a024c638dd5e8d4cf6f92; __jsl_clearance=1628842172.968|0|8rBRZzH5SoW3MMG1%2FWkYpLUeRXA%3D",
|
||||
},
|
||||
})
|
||||
f, err := os.Create("test.jpg")
|
||||
if err != nil {
|
||||
log.Fatal("Couldn't open file")
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
err = binary.Write(f, binary.LittleEndian, resp)
|
||||
|
||||
if err != nil {
|
||||
log.Fatal("Write failed")
|
||||
}
|
||||
|
||||
//resp, err := request.Request(RequestBodyFormatForFormData, Headers{
|
||||
// //Others: map[string]string{
|
||||
// // "Referer": "http://drc.hefei.gov.cn/group4/M00/07/4D/wKgEIWEM9X-AXLhsAAONk965l5o088.png",
|
||||
// // "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
|
||||
// // "Cookie": "__jsluid_h=2844bb494bad8b1cd372e28c65844abd; __jsl_clearance=1628840623.068|0|vNUfDD1V4muQrHrWy%2BmhoGbOFr0%3D",
|
||||
// //},
|
||||
//})
|
||||
//f, err := os.Create("test.jpg")
|
||||
//if err != nil {
|
||||
// log.Fatal("Couldn't open file")
|
||||
//}
|
||||
//defer f.Close()
|
||||
//
|
||||
//err = binary.Write(f, binary.LittleEndian, resp)
|
||||
//
|
||||
//if err != nil {
|
||||
// log.Fatal("Write failed")
|
||||
//}
|
||||
}
|
Reference in New Issue
Block a user