requests

package
v0.0.0-...-6d4b899 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

README

requests

类似 Python requests 的库的 http 客户端工具。

GET: url params headers cookies 
POST: url data json headers cookies
  - data: 要发送到指定 url 的 map slice byte 或 iohelper
  - json: 要发送到指定 url 的 json 对象

Example

https://tonybai.com/2021/04/02/go-http-client-connection-control/
https://segmentfault.com/a/1190000039874413
https://researchlab.github.io/2016/07/10/go-setcookie/

Documentation

Overview

Package requests Date: 2022/9/6 00:08 Author: Amu Description:

Package requests Date: 2022/9/5 13:42 Author: Amu Description:

Package requests Date: 2022/9/5 10:12 Author: Amu Description:

Package requests Date: 2022/9/8 23:50 Author: Amu Description:

Package requests Date: 2022/9/5 09:54 Author: Amu Description:

Package requests Date: 2022/9/6 00:11 Author: Amu Description:

Package requests Date: 2022/9/1 23:06 Author: Amu Description:

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(req *Requests)

func SetCookies

func SetCookies(rc map[string]string) Option

func SetData

func SetData(rd map[string]string) Option

func SetHeaders

func SetHeaders(rh map[string]string) Option

func SetIdleConnTimeout

func SetIdleConnTimeout(ic time.Duration) Option

func SetJson

func SetJson(rj interface{}) Option

func SetMaxConns

func SetMaxConns(mc int) Option

func SetMaxIdle

func SetMaxIdle(mi int) Option

func SetParams

func SetParams(rp map[string]string) Option

func SetRequestTimeout

func SetRequestTimeout(rt time.Duration) Option

type Requests

type Requests struct {
	// 参数相关
	Headers map[string]string // header
	Cookies map[string]string // cookies
	Param   map[string]string // params
	Data    map[string]string // data
	Json    interface{}       // json

	// request 相关
	DialTimeout         time.Duration
	DialKeepAlive       time.Duration
	TLSHandshakeTimeout time.Duration

	// Client 相关
	Timeout             time.Duration
	MaxConnsPerHost     int
	MaxIdleConnsPerHost int
	IdleConnTimeout     time.Duration
}

func NewRequests

func NewRequests() *Requests

func (*Requests) Get

func (r *Requests) Get(url string, options ...Option) (*Responses, error)

func (*Requests) Post

func (r *Requests) Post(url string, options ...Option) (*Responses, error)

type Responses

type Responses struct {
	Ok          bool
	Error       error
	RawResponse *http.Response
	StatusCode  int
	Header      http.Header
	// contains filtered or unexported fields
}

func DoRequests

func DoRequests(method, url string, r *Requests) (*Responses, error)

func Get

func Get(url string, options ...Option) (*Responses, error)

func Post

func Post(url string, options ...Option) (*Responses, error)

func (*Responses) Bytes

func (r *Responses) Bytes() []byte

func (*Responses) Close

func (r *Responses) Close() error

func (*Responses) JSON

func (r *Responses) JSON(userStruct interface{}) error

func (*Responses) Read

func (r *Responses) Read(p []byte) (n int, err error)

func (*Responses) String

func (r *Responses) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL