request

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

README

request

A micro request lib for Go

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CtPool = sync.Pool{
	New: func() interface{} {
		return &http.Client{}
	},
}

Http client pool

Functions

This section is empty.

Types

type ClientIF

type ClientIF interface {
	Do(req *http.Request) (*http.Response, error)
}

type Request

type Request struct {
	Header http.Header // 请求头
	// contains filtered or unexported fields
}

func NewRequest

func NewRequest() *Request

func (*Request) AddHeaders

func (r *Request) AddHeaders(header http.Header) RequestIF

新增请求头

func (*Request) Delete

func (r *Request) Delete(oUrl string, oParams ...interface{}) (*Response, error)

Delete

func (*Request) DialContext

func (r *Request) DialContext(fn func(ctx context.Context, network, addr string) (net.Conn, error)) RequestIF

指定创建TCP连接的拨号函数

func (*Request) Download

func (r *Request) Download(oUrl string, toFile string) error

Download File

func (*Request) ExecTime

func (r *Request) ExecTime() time.Duration

获取上一次请求执行时间

func (*Request) Get

func (r *Request) Get(oUrl string, oParams ...interface{}) (*Response, error)

Get

func (*Request) GetHeader

func (r *Request) GetHeader(key string) string

获取请求头

func (*Request) GetHost

func (r *Request) GetHost(host string) string

获取自定义域名

func (*Request) Head

func (r *Request) Head(oUrl string, oParams ...interface{}) (*Response, error)

Head

func (*Request) Options

func (r *Request) Options(oUrl string, oParams ...interface{}) (*Response, error)

Options

func (*Request) Post

func (r *Request) Post(oUrl string, oParams ...interface{}) (*Response, error)

Post

func (*Request) PostForm

func (r *Request) PostForm(oUrl string, oParams ...interface{}) (*Response, error)

PostForm

func (*Request) Put

func (r *Request) Put(oUrl string, oParams ...interface{}) (*Response, error)

Put

func (*Request) Reset

func (r *Request) Reset() RequestIF

重置默认值

func (*Request) SetCharset

func (r *Request) SetCharset(charset string) RequestIF

设置字符集

func (*Request) SetCookieJar

func (r *Request) SetCookieJar(jar http.CookieJar) RequestIF

设置CookieJar

func (*Request) SetDialTimeout

func (r *Request) SetDialTimeout(t time.Duration) RequestIF

设置TCP连接超时时间

func (*Request) SetHeader

func (r *Request) SetHeader(key, val string) RequestIF

设置请求头

func (*Request) SetHeaders

func (r *Request) SetHeaders(header http.Header) RequestIF

设置请求头

func (*Request) SetHost

func (r *Request) SetHost(host string) RequestIF

设置域名 GET /index HTTP/1.1 Host: 域名 ....

func (*Request) SetInsecureSkipVerify

func (r *Request) SetInsecureSkipVerify(s bool) RequestIF

SSL 不校验服务器证书

func (*Request) SetProxy

func (r *Request) SetProxy(proxy string) RequestIF

设置代理地址 proxy http://127.0.0.1:8081

func (*Request) SetRedirectHandler

func (r *Request) SetRedirectHandler(handler redirectHandler) RequestIF

自定义重定向Handler

func (*Request) SetRedirectTimes

func (r *Request) SetRedirectTimes(t int) RequestIF

设置重定向次数

func (*Request) SetReferer

func (r *Request) SetReferer(referer string) RequestIF

设置Referer

func (*Request) SetResponseHeaderTimeout

func (r *Request) SetResponseHeaderTimeout(t time.Duration) RequestIF

设置读取ResponseHeader超时时间

func (*Request) SetTLSTimeout

func (r *Request) SetTLSTimeout(t time.Duration) RequestIF

设置TLS握手超时时间

func (*Request) SetTimeout

func (r *Request) SetTimeout(t time.Duration) RequestIF

设置超时时间

func (*Request) SetUserAgent

func (r *Request) SetUserAgent(ua string) RequestIF

设置UserAgent

func (*Request) Suck

func (r *Request) Suck(oMethod, oUrl string, oParams ...interface{}) (*Response, error)

嘬取数据 oMethod 请求类型 oUrl 目标地址 oParams 请求参数

type RequestIF

type RequestIF interface {
	Get(oUrl string, oParams ...interface{}) (*Response, error)
	Post(oUrl string, oParams ...interface{}) (*Response, error)
	PostForm(oUrl string, oParams ...interface{}) (*Response, error)
	Put(oUrl string, oParams ...interface{}) (*Response, error)
	Head(oUrl string, oParams ...interface{}) (*Response, error)
	Options(oUrl string, oParams ...interface{}) (*Response, error)
	Delete(oUrl string, oParams ...interface{}) (*Response, error)
	Suck(oMethod, oUrl string, oParams ...interface{}) (*Response, error)
	Download(oUrl string, toFile string) error

	SetHost(host string) RequestIF
	GetHost(host string) string
	SetProxy(proxy string) RequestIF
	SetRedirectTimes(t int) RequestIF
	SetRedirectHandler(handler redirectHandler) RequestIF
	SetInsecureSkipVerify(s bool) RequestIF
	SetCookieJar(jar http.CookieJar) RequestIF
	DialContext(fn func(ctx context.Context, network, addr string) (net.Conn, error)) RequestIF

	SetReferer(referer string) RequestIF
	SetCharset(charset string) RequestIF
	SetUserAgent(ua string) RequestIF
	SetHeader(key, val string) RequestIF
	GetHeader(key string) string
	SetHeaders(header http.Header) RequestIF
	AddHeaders(header http.Header) RequestIF
	SetTimeout(t time.Duration) RequestIF
	SetDialTimeout(t time.Duration) RequestIF
	SetTLSTimeout(t time.Duration) RequestIF
	SetResponseHeaderTimeout(t time.Duration) RequestIF

	Reset() RequestIF
	ExecTime() time.Duration
}

Request Interface

func New

func New() RequestIF

New request interface

type Response

type Response struct {
	Status        string // e.g. "200 OK"
	StatusCode    int    // e.g. 200
	Proto         string // e.g. "HTTP/1.0"
	ProtoMajor    int    // e.g. 1
	ProtoMinor    int    // e.g. 0
	Body          []byte
	ContentLength int64
	Request       *http.Request
	Response      *http.Response
}

func NewResponse

func NewResponse(resp *http.Response) (*Response, error)

func (*Response) Bytes

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

func (*Response) ContextType

func (r *Response) ContextType() string

func (*Response) GetHeader

func (r *Response) GetHeader(key string) string

func (*Response) Html

func (r *Response) Html() string

func (*Response) Json

func (r *Response) Json(v interface{}) error

func (*Response) String

func (r *Response) String() string

func (*Response) Xml

func (r *Response) Xml(v interface{}) error

Jump to

Keyboard shortcuts

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