You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
925 B
45 lines
925 B
package utils
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"github.com/valyala/fasthttp"
|
|
)
|
|
|
|
func Get(url string) ([]byte, error) {
|
|
status, resp, err := fasthttp.Get(nil, url)
|
|
if err != nil {
|
|
return []byte{}, err
|
|
}
|
|
if status != fasthttp.StatusOK {
|
|
return []byte{}, errors.New(fmt.Sprintf("请求失败:%d", status))
|
|
}
|
|
return resp, nil
|
|
|
|
}
|
|
|
|
func PostJson(url string, JsonString string) ([]byte, error) {
|
|
req := fasthttp.AcquireRequest()
|
|
resp := fasthttp.AcquireResponse()
|
|
defer func() {
|
|
// 用完需要释放资源
|
|
fasthttp.ReleaseResponse(resp)
|
|
fasthttp.ReleaseRequest(req)
|
|
}()
|
|
|
|
// 默认是application/x-www-form-urlencoded
|
|
req.Header.SetContentType("application/json")
|
|
req.Header.SetMethod("POST")
|
|
|
|
req.SetRequestURI(url)
|
|
|
|
requestBody := []byte(JsonString)
|
|
req.SetBody(requestBody)
|
|
|
|
if err := fasthttp.Do(req, resp); err != nil {
|
|
return []byte{}, err
|
|
}
|
|
b := resp.Body()
|
|
fmt.Println(string(b))
|
|
return b, nil
|
|
}
|