mirror of
https://github.com/fumiama/go-nd-portal.git
synced 2026-06-08 18:10:29 +08:00
36 lines
729 B
Go
36 lines
729 B
Go
package portal
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
)
|
|
|
|
var client = &http.Client{}
|
|
|
|
// requestDataWith 使用自定义请求头获取数据
|
|
func requestDataWith(url, method, ua string) (data []byte, err error) {
|
|
// 提交请求
|
|
var request *http.Request
|
|
request, err = http.NewRequest(method, url, nil)
|
|
if err == nil {
|
|
// 增加header选项
|
|
if ua != "" {
|
|
request.Header.Add("User-Agent", ua)
|
|
}
|
|
var response *http.Response
|
|
response, err = client.Do(request)
|
|
if err == nil {
|
|
if response.StatusCode != http.StatusOK {
|
|
s := fmt.Sprintf("status code: %d", response.StatusCode)
|
|
err = errors.New(s)
|
|
return
|
|
}
|
|
data, err = io.ReadAll(response.Body)
|
|
response.Body.Close()
|
|
}
|
|
}
|
|
return
|
|
}
|