golang接口请求方法

1.方法1:
map[persistent_code: errcode:0 errmsg:ok unionid:0hY5m7YiPiSy1tmdVsiPDaItgiEiE openid:yseuqjbn
func GetInfo(token string)(){
baseurl := "https://oapi.dingtalk.com/sns/getuserinfo?sns_token="
accessUrl := baseurl + token
responseToken,err:= http.Get(accessUrl)
if err != nil{
fmt.Println(err)
}
defer responseToken.Body.Close()//当获取到响应体时,客户端必须手动关闭链接
jsonStr,err := ioutil.ReadAll(responseToken.Body)

    if err != nil{
            fmt.Println(err)
    }
var dat2 map[string]interface{}
    if err := json.Unmarshal(jsonStr,&dat2);err == nil{
        fmt.Println("userinfo")
        fmt.Println(dat2)
    }
    persistent_code := data2["persistent_code"]
//name := dat2["user_info"].(map[string]interface{})["nick"]
    //openid := dat2["user_info"].(map[string]interface{})["openid"]

}

接口请求数据的方法,返回数据是复杂的情况
map[errcode:0 errmsg:ok user_info:map[nick: unionid: dingId:$:LWCP_v1:$8MtM2lK1ewzm5QsKVHv0oA== openid:yseuqjbnBOc7BwN1ayCb
func GetInfo(token string)(){
baseurl := "https://oapi.dingtalk.com/sns/getuserinfo?sns_token="
accessUrl := baseurl + token
responseToken,err:= http.Get(accessUrl)
if err != nil{
fmt.Println(err)
}
defer responseToken.Body.Close()//当获取到响应体时,客户端必须手动关闭链接
jsonStr,err := ioutil.ReadAll(responseToken.Body)

    if err != nil{
            fmt.Println(err)
    }
var dat2 map[string]interface{}
    if err := json.Unmarshal(jsonStr,&dat2);err == nil{
        fmt.Println("userinfo")
        fmt.Println(dat2)
    }
name := dat2["user_info"].(map[string]interface{})["nick"]
    openid := dat2["user_info"].(map[string]interface{})["openid"]

}

原文地址:https://blog.51cto.com/luoguoling/2421559

时间: 2024-10-08 05:46:47

golang接口请求方法的相关文章

【转】Postman接口测试之POST、GET请求方法

转自竹小冉: https://www.cnblogs.com/zhuxr/p/9009708.html 一.基础知识 1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法. GET请求:请求指定的页面信息,并返回实体主体.(通常用来接收数据). POST请求:向指定资源提交数据进行处理请求,数据被包含在请求体中.POST请求可能会导致新的资源的建立.已有资源的修改.(通常用来发送数据). HEAD请求:类似于

一、OkHttp请求方法

OkHttp是一个高效的HTTP库: 支持 SPDY ,共享同一个 Socket 来处理同一个服务器的所有请求 如果 SPDY 不可用,则通过连接池来减少请求延时 无缝的支持GZIP来减少数据流量 缓存响应数据来减少重复的网络请求 OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复.如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP.OkHttp还处理了代理服务器问题和SSL握手失败问题. OkHttp是一个相对成熟的解决方案,据说

TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单的聊一下TCP/IP协议族,然后聊一下HTTP协议,然后再聊一下SSL上的HTTP(也就是HTTPS)了.当然TCP/IP协议族是个老生常谈的话题,网络上关于该内容的文章一抓一大把呢,但是鉴于其重要性,还是有必要系统的总结一下的. 一.TCP/IP协议组简述 在聊HTTP与HTTPS之前呢,我们先简

HTTP请求方法详解

HTTP请求方法详解 请求方法:指定了客户端想对指定的资源/服务器作何种操作 下面我们介绍HTTP/1.1中可用的请求方法: [GET:获取资源]     GET方法用来请求已被URI识别的资源.指定的资源经服务器端解析后返回响应内容(也就是说,如果请求的资源是文本,那就保持原样返回:如果是CGI[通用网关接口]那样的程序,则返回经过执行后的输出结果).     最常用于向服务器查询某些信息.必要时,可以将查询字符串参数追加到URL末尾,以便将信息发送给服务器.     使用GET请求时经常会发

快递查询API接口对接方法

各类接口 快递查询API有即时查询和订阅查询两种,即时是请求即返回数据,订阅则是订阅快递单号到接口,有物流轨迹更新则全量返回数据.目前常用的有快递鸟.快递100.快递网等. 快递鸟即时API可以查询3000次,3000以上接订阅接口,统一接口模式接入,常用快递均支持查询,还有订阅API.在线下单API.电子面单API,接口均不收取费用,没有要求用户添加外链,支持418家国内外快递物流查询. 快递100每天可以免费查询2000次,超过2000次收费,每次0.06~0.1元不等,如果查询的量大的话可

支付宝手机网页即时到账接口(2)之授权接口请求

前言 这篇文章主要讲诉系统调用支付宝手机网页即时到账授权接口获取支付宝返回的request_token. 上篇文章地址:支付宝手机网页即时到账接口(1)之相关信息介绍. 这是上篇文章结尾调用授权接口的图解. 官方文档中对授权接口的说明是: 商户利用编程方法来模拟http请求远程解析html,获取支付宝返回的结果数据后,可以结合自身网站的业务逻辑进行数据处理. 说明中不难看出我们的代码中需要模拟http提交参数,然后解析支付宝返回的结果再进行处理.该项目是用java编写的,所以后续代码也是用jav

[Android]蓝牙相关接口及方法

首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限 <uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permissionandroid:name="android.permission.BLUETOOTH" /> 然后,看下api,Android所有关于蓝牙开发的类都在android.bluetooth包下,共有8个类

Android 网络请求方法

在Android应用开发中,我们经常会与服务器交互,获取或上传数据,这就需要用到网络请求,一般情况下是使用HTTP协议去发送和接收网络数据,而HTTP又包括两种通信方式,即:HttpUrlConnection和HttpClient. 代码例子:https://git.oschina.net/ysx_xx/HttpText/tree/master 下面我简单地介绍这两种方式的使用: 首先,要进行网络请求,我们要先给应用添加网络权限,有两种方式添加: 1.    打开AndroidManifest.

iOS开发——网络请求方法汇总

在实际的项目开发中,连接网络是每一款App必不可少的基本功能.对于客户端的网络请求而言,无非是有两个实现方向:使用网络请求框架或者不使用网络请求框架.在这篇博客中,我将用苹果自带的网络请求方式(不使用第三方框架)下对iOS网络请求方法做一个汇总.我将在之后的博客中介绍使用AFNetworking框架进行请求的实现.代码已经上传至:https://github.com/chenyufeng1991/iOS-NetworkRequest   . [使用XML请求Webservice,可用GET或PO