GO语言http请求方法,可以携带请求头Header与cookie

1、目录

 

 2、main.go

package main

import "fmt"
import "demo/common/http"

func main() {
	url := ""
	header := make(map[string]string)
	header["Content-type"] = "application/json;charset=utf-8"

	cookie := make(map[string]string)
	cookie["JSESSIONID"] = "5CC7E50F60767CC8D2A0D0561286E91D"
	cookie["acw_tc"] = "ac11000116547373711273516e00bcec91c84e5130daa8cb934436b2a9c1bd"
	var ret, err = http.BasicGetHeader(url, header, cookie)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println(ret)
	}
}

3、http.go

package http

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

func BasicGetHeader(requestGetURL string, header map[string]string, cookie map[string]string) (ret []byte, err error) {
	client := http.Client{}
	req, err := http.NewRequest(http.MethodGet, requestGetURL, nil)
	if err != nil {
		log.Println("err")
		return nil, err
	}
	// 添加请求头
	for key, value := range header {
		req.Header.Add(key, value)
	}

	// 添加cookie
	for key, value := range cookie {
		cookie := &http.Cookie{
			Name:  key,
			Value: value,
		}
		req.AddCookie(cookie)
	}
	// 发送请求
	resp, err := client.Do(req)
	if err != nil {
		log.Println("err")
		return nil, err
	}
	defer resp.Body.Close()

	return ioutil.ReadAll(resp.Body)
}

  

posted @ 2022-06-09 10:06  沈启伦  阅读(1473)  评论(0)    收藏  举报