Golang包——net/http

來源:互聯網
上載者:User
import (    "bytes"    "encoding/json"    "fmt"    "io/ioutil"    "net/http")type UserInfo struct {    ApiKey string `json:"apiKey"`    UserId string `json:"userId"`}type Perception struct {    InputText  map[string]string           `json:"inputText,omitempty"`    InputImage map[string]string           `json:"inputImage,omitempty"`    SelfInfo   map[string]*RequestLocation `json:"selfInfo,omitempty"`}type RequestLocation struct {    City     string `json:"city,omitempty"`    Province string `json:"province,omitempty"`    Street   string `json:"street,omitempty"`}type RequestStruct struct {    ReqType    int         `json:"reqType"`    UserInfo   *UserInfo   `json:"userInfo"`    Perception *Perception `json:"perception"`}type Test1 struct {    Id    string    Age   string    Class string}type Test struct {    Name  string    Test1 Test1}func main() {    apiAddress := "http://openapi.tuling123.com/openapi/api/v2"    requeStruct := &RequestStruct{0,        &UserInfo{ApiKey: "231ae8807c384f41805802bdd4973638", UserId: "123456111"},        &Perception{InputText: map[string]string{"text": "今天的天氣如何"}, SelfInfo: map[string]*RequestLocation{"location": &RequestLocation{City: "北京"}}}}    jsonByte, err := json.Marshal(requeStruct)    if err != nil {        fmt.Println(err.Error())    } else {        fmt.Println(string(jsonByte))    }    request, err := http.NewRequest("POST", apiAddress, bytes.NewBuffer(jsonByte))    if err != nil {        fmt.Println(err.Error())    }    request.Header.Set("Content-Type", "application/json;charset=UTF-8")    client := http.Client{}    resp, err := client.Do(request)    if err != nil {        fmt.Println(err.Error())        return    }    defer resp.Body.Close()    respBytes, err := ioutil.ReadAll(resp.Body)    if err != nil {        fmt.Println(err.Error())        return    }    fmt.Println(string(respBytes))}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.