点击左上方“
熊吱 ”关注我们吧!
1
Go语言的HTTP库
Go语言的有原生的net/http库,但是使用较为麻烦,这里推荐使用github.com/kirinlabs/HttpRequest 这一个第三方http库,首先咱们下载这个http库到go语言环境中。go get github.com/kirinlabs/HttpRequest
简单的使用HttpRequest库发送get请求并打印
package mainimport "github.com/kirinlabs/HttpRequest"import "fmt"//实例化HttpRequestvar req=HttpRequest.NewRequest()func main(){
//使用Get方法,请求百度 res,_ := req.Get("http://www.baidu.com") //在返回的数据中,找到body部分。一个完整的response包含header和body,body为页面内容或其他载荷数据 body,_ := res.Body() //此时的body是二进制数据,不能直接打印,需要使用string方法转换为string字符串 fmt.Println(string(body))}
输出的body结果为页面的html代码
使用get请求json格式的数据
package mainimport "github.com/kirinlabs/HttpRequest"import "fmt"//实例化HttpRequestvar req=HttpRequest.NewRequest()func main(){
//设置http请求的请求头 req.SetHeaders(map[string]string{
"Content-Type":"application/json", }) //使用Get方法,请求天行数据的api接口,map里面放的是get请求的参数 res,_ := req.Get("http://api.tianapi.com/topnews/index",map[string]interface{}{
"key":"天行数据平台获取的apikey", }) //在返回的数据中,找到body部分。一个完整的response包含header和body,body为页面内容或其他载荷数据 body,_ := res.Body() //此时的body是二进制数据,不能直接打印,需要使用string方法转换为string字符串 fmt.Println(string(body))}
使用post请求数据,测试使用的是天行数的api接口,返回的是json格式的数据,使用go-simplejson解析返回的json数据。
package mainimport "github.com/kirinlabs/HttpRequest"import "fmt"import "github.com/bitly/go-simplejson"//实例化HttpRequestvar req=HttpRequest.NewRequest()func main(){
//设置http请求的请求头 req.SetHeaders(map[string]string{
"Content-Type":"application/x-www-form-urlencoded", }) //使用Post方法请求百度 res,_ := req.Post("http://api.tianapi.com/topnews/index",map[string]interface{}{
"key": "天行数据平台获取的apikey", }) //在返回的数据中&