requester

package
v0.0.0-...-f2cb11c Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2023 License: Apache-2.0 Imports: 18 Imported by: 8

Documentation

Overview

Package requester 提供网络请求简便操作

Index

Constants

View Source
const (
	// DefaultUserAgent 默认浏览器标识
	DefaultUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
)
View Source
const (
	// MaxDuration 最大的Duration
	MaxDuration = 1<<63 - 1
)

Variables

View Source
var (

	// ProxyAddr 代理地址
	ProxyAddr string

	// ErrProxyAddrEmpty 代理地址为空
	ErrProxyAddrEmpty = errors.New("proxy addr is empty")
)
View Source
var (
	// UserAgent 浏览器标识
	UserAgent = DefaultUserAgent
	// DefaultClient 默认 http 客户端
	DefaultClient = NewHTTPClient()
)

Functions

func Fetch

func Fetch(method string, urlStr string, post interface{}, header map[string]string) (body []byte, err error)

Fetch 参见 *HTTPClient.Fetch, 使用默认 http 客户端

func HTTPGet

func HTTPGet(urlStr string) (body []byte, err error)

HTTPGet 简单实现 http 访问 GET 请求

func ParseCookieStr

func ParseCookieStr(cookieStr string) []*http.Cookie

ParseCookieStr 解析 Cookie 字符串

func Req

func Req(method string, urlStr string, post interface{}, header map[string]string) (resp *http.Response, err error)

Req 参见 *HTTPClient.Req, 使用默认 http 客户端

func SetGlobalProxy

func SetGlobalProxy(proxyAddr string)

SetGlobalProxy 设置代理

func SetLocalTCPAddrList

func SetLocalTCPAddrList(ips ...string)

SetLocalTCPAddrList 设置网卡地址

func SetTCPHostBind

func SetTCPHostBind(host, ip string)

SetTCPHostBind 设置host绑定ip

Types

type ContentLengther

type ContentLengther interface {
	ContentLength() int64
}

ContentLengther Content-Length 接口

type ContentTyper

type ContentTyper interface {
	ContentType() string
}

ContentTyper Content-Type 接口

type Event

type Event func()

Event 下载/上传任务运行时事件

type EventOnError

type EventOnError func(err error)

EventOnError 任务出错运行时事件

type HTTPClient

type HTTPClient struct {
	http.Client

	UserAgent string
	// contains filtered or unexported fields
}

HTTPClient http client

func NewHTTPClient

func NewHTTPClient() *HTTPClient

NewHTTPClient 返回 HTTPClient 的指针, 预设了一些配置

func (*HTTPClient) Fetch

func (h *HTTPClient) Fetch(method string, urlStr string, post interface{}, header map[string]string) (body []byte, err error)

Fetch 实现 http/https 访问, 根据给定的 method (GET, POST, HEAD, PUT 等等), urlStr (网址), post (post 数据), header (header 请求头数据), 进行网站访问。 返回值分别为 网站主体, 错误信息

func (*HTTPClient) Req

func (h *HTTPClient) Req(method string, urlStr string, post interface{}, header map[string]string) (resp *http.Response, err error)

Req 实现 http/https 访问, 根据给定的 method (GET, POST, HEAD, PUT 等等), urlStr (网址), post (post 数据), header (header 请求头数据), 进行网站访问。 返回值分别为 *http.Response, 错误信息

func (*HTTPClient) ResetCookiejar

func (h *HTTPClient) ResetCookiejar()

ResetCookiejar 清空 cookie

func (*HTTPClient) SetCookiejar

func (h *HTTPClient) SetCookiejar(jar http.CookieJar)

SetCookiejar 设置 cookie

func (*HTTPClient) SetGzip

func (h *HTTPClient) SetGzip(b bool)

SetGzip 是否启用Gzip

func (*HTTPClient) SetHTTPSecure

func (h *HTTPClient) SetHTTPSecure(b bool)

SetHTTPSecure 是否启用 https 安全检查, 默认不检查

func (*HTTPClient) SetKeepAlive

func (h *HTTPClient) SetKeepAlive(b bool)

SetKeepAlive 设置 Keep-Alive

func (*HTTPClient) SetProxy

func (h *HTTPClient) SetProxy(proxyAddr string)

SetProxy 设置代理

func (*HTTPClient) SetResponseHeaderTimeout

func (h *HTTPClient) SetResponseHeaderTimeout(t time.Duration)

SetResponseHeaderTimeout 设置目标服务器响应超时时间

func (*HTTPClient) SetTLSHandshakeTimeout

func (h *HTTPClient) SetTLSHandshakeTimeout(t time.Duration)

SetTLSHandshakeTimeout 设置tls握手超时时间

func (*HTTPClient) SetTimeout

func (h *HTTPClient) SetTimeout(t time.Duration)

SetTimeout 设置 http 请求超时时间, 默认30s

func (*HTTPClient) SetUserAgent

func (h *HTTPClient) SetUserAgent(ua string)

SetUserAgent 设置 UserAgent 浏览器标识

Directories

Path Synopsis
Package downloader 多线程下载器, 重构版
Package downloader 多线程下载器, 重构版
Package multipartreader helps you encode large files in MIME multipart format without reading the entire content into memory.
Package multipartreader helps you encode large files in MIME multipart format without reading the entire content into memory.
rio
Package rio rquester io 工具包
Package rio rquester io 工具包
speeds
Package speeds 速度计算工具包
Package speeds 速度计算工具包
Package uploader 上传包
Package uploader 上传包

Jump to

Keyboard shortcuts

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