• go请求第三方接口,使用go原生的方法去请求


    import (
       "io/ioutil"
       "log"
       "net/http"
    )

    get请求:

    resp, err := http.Get("http://localhost:6002/baiduTrans")
       if err != nil {
          log.Fatalln(err)
       }
    //We Read the response body on the line below.
       body, err := ioutil.ReadAll(resp.Body)
       if err != nil {
          log.Fatalln(err)
       }
    //Convert the body to type string
       sb := string(body)
       log.Printf(sb)

    这种请求方式的缺点是使用query传参,如果参数中包含了空格等等其他字符,他不会自动像我们浏览器的url地址一样,自动将特殊字符转义为能够识别的,导致接口无法请求成功。

    post请求:

    import (
       "bytes"
       "encoding/json"
       "io/ioutil"
       "log"
       "net/http"
    )
    
    func main() {
    //Encode the data
       postBody, _ := json.Marshal(map[string]string{
          "name":  "Toby",
          "email": "Toby@example.com",
       })
       responseBody := bytes.NewBuffer(postBody)
    //Leverage Go's HTTP Post function to make request
       resp, err := http.Post("https://postman-echo.com/post", "application/json", responseBody)
    //Handle Error
       if err != nil {
          log.Fatalf("An Error Occured %v", err)
       }
       defer resp.Body.Close()
    //Read the response body
       body, err := ioutil.ReadAll(resp.Body)
       if err != nil {
          log.Fatalln(err)
       }
       sb := string(body)
       log.Printf(sb)
    }

    来自于:https://blog.logrocket.com/making-http-requests-in-go/

  • 相关阅读:
    drag element
    时间会改变一切
    Windows下MySQL的my.ini文件字符集测试(二)
    Windows下MySQL的my.ini文件字符集测试
    SQL Server和MySQL主外键写法对比
    SQL Server外键约束
    [SQL Server]重命名数据库【转】
    SQL Server 2008 R2链接MySQL 5.6
    空值的日期类型和update 中的null
    删除数据库中所有表
  • 原文地址:https://www.cnblogs.com/lxz123/p/15217807.html
Copyright © 2020-2023  润新知