教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 go 实现HTTP 接口

go 实现HTTP 接口

发布时间:2021-05-24   编辑:jiaochengji.com
教程集为您提供go 实现HTTP 接口等资源,欢迎您收藏本站,我们将为您提供最新的go 实现HTTP 接口资源

go 实现HTTP 接口

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    // 访问的URL
    url := "http://localhost:9333/dir/assign"
    result := reqest("POST", url)
    // 上传文件
    url = fmt.Sprintf("http://%s/%s", result["publicUrl"], result["fid"])
    result = reqest("POST", url)

    fmt.Println("------", result)
}

func reqest(method, url string) map[string]interface{} {
    // 生成client参数为默认
    client := &http.Client{}

    // 提交请求
    reqest, err := http.NewRequest(method, url, nil)
    reqest.Header.Set("Accept", "text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8")
    reqest.Header.Set("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3")
    reqest.Header.Set("Accept-Encoding", "gzip,deflate,sdch")
    reqest.Header.Set("Accept-Language", "zh-CN,zh;q=0.8")
    reqest.Header.Set("Cache-Control", "max-age=0")
    reqest.Header.Set("Connection", "keep-alive")
    //reqest.Header.Set("Content-Type", "multipart/form-data")
    reqest.Header.Set("Content-Type", "text/html")
    // 错误处理
    if err != nil {
        fmt.Println("请求错误", err)
    }
    // 处理返回的结果
    response, _ := client.Do(reqest)
    // 获取body 内容
    body, _ := ioutil.ReadAll(response.Body)
    // 存储返回结果
    result := make(map[string]interface{}, 0)
    // 把json转换为map
    err = json.Unmarshal(body, &result)
    if err != nil {
        fmt.Println("json 转换错误", err)
    }

    //返回的状态码
    status := response.StatusCode

    if status != 200 {
        fmt.Println("请求错误地址  错误编码:", status)
    }

    //defer reqest.Body.Close()

    return result
}
到此这篇关于“go 实现HTTP 接口”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
go 获取函数地址_Go语言基础--接口浅析
2018年最全Go语言教程零基础入门到进阶实战视频
想系统学习GO语言(Golang
Go语言接口interface
19小接口的妙用
go语言学习-接口赋值的两种类型
Go语言空接口类型(interface{})
2020-10-18Go语言接口
Go 接口应用场景、注意事项和使用细节
Go学习笔记:接口实现与指针

[关闭]
~ ~