zoukankan      html  css  js  c++  java
  • go请求第三方接口(这种方法借助了第三方的依赖实现的)

    import r "github.com/solos/requests"

    func translationPHandler(w http.ResponseWriter,rr *http.Request){ if rr.Method == "POST" { con := rr.PostFormValue("con") lang := rr.PostFormValue("lang") fmt.Println(con, lang) kwargs := r.M{} options := r.M{ "timeout": 10, } // 设定请求头 headers := map[string]string{ "content-Type": "application/json", } // 设定POST请求数据 这里写的post请求,在我的python服务上接收不到数据(主要问题再python服务,不在go的请求方法上),这种方式传值是传过去的值是json,不是query data := map[string]string{ "con": con, "lang": lang, } // 实例化一个请求对象 req := &r.Request{Args: kwargs} //tansUrl := "http://localhost:6002/baiduTrans?con="+con+"&lang="+lang tansUrl := "http://localhost:6002/baiduTrans" // POST登录 resp, err := req.MakeRequest("POST", tansUrl, r.Headers(headers), r.Options(options), r.Data(data)) //resp, err := req.MakeRequest("POST", tansUrl, r.Headers(headers), r.Options(options)) if err != nil { err := common.Error{ Code: -1, Error:"err", } fmt.Print(2) encodeInfo,_ :=json.Marshal(&err) fmt.Fprint(w,string(encodeInfo)) }else { //fmt.Print(body) //fmt.Fprint(w, string(body)) fmt.Fprint(w, resp.Content) } }else{ err := common.Error{ Code: -1, Error:"Method Not Allowed", } encodeInfo,_ :=json.Marshal(&err) fmt.Fprint(w,string(encodeInfo)) } }

    要想使用  import r "github.com/solos/requests",需要先下载对应的依赖,下载方式为:

    go get github.com/solos/requests

    之后使用上述方法,请求第三方接口就可以了。

    借鉴于:https://github.com/solos/requests

  • 相关阅读:
    【组合数学】AGC036C
    【数位贪心】loj#530. 「LibreOJ β Round #5」最小倍数
    【概率dp】vijos 3747 随机图
    【线段树 经典技巧】10.7序列绝对值
    【杂题】10.7爬树
    【组合数学 思维题】10.6种树
    【换根dp】9.22小偷
    【高维前缀和】8.15B. 组合数
    【技巧 dp】1566: [NOI2009]管道取珠
    【经典dp 技巧】8.13序列
  • 原文地址:https://www.cnblogs.com/lxz123/p/15217666.html
Copyright © 2011-2022 走看看