browser

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var UserAgentList = []string{
	"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60",
	"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
	"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0",
	"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
	"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)",
	"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36",
}

一些常见的 User-Agent,数据来源于百度搜索,选取了一篇 2023 年发布的博客文章内容

Functions

This section is empty.

Types

type Browser

type Browser struct {
	UserAgent  string
	HttpClient *http.Client    // 身为一个浏览器,收发 http 请求显然是最基本的要求
	WSClient   *websocket.Conn // 有时,我也会需要 websocket 来满足一些双工场景
}

Browser 一个浏览器,我希望在此扮演一个浏览器

func NewBrowser

func NewBrowser() *Browser

NewBrowser 创建一个浏览器

func (*Browser) Close

func (b *Browser) Close()

Close 关闭 websocket 连接

func (*Browser) Connect

func (b *Browser) Connect(urlStr string, requestHeader http.Header) error

Connect 建立 webscoket 连接

func (*Browser) Get

func (b *Browser) Get(target *url.URL, t any) error

Get 发送一个 get 请求

我只是为了自己写的方便哦,不要学!

func (*Browser) GetCookie

func (b *Browser) GetCookie(u *url.URL, v string) string

GetCookie 获取指定 Cookie 字段

func (*Browser) GetCookieString

func (b *Browser) GetCookieString(u *url.URL) string

GetCookieString 获取 Cookie 字符串

func (*Browser) Listen

func (b *Browser) Listen(v chan []byte)

Listen 监听 websocket 消息

func (*Browser) SetCookieString

func (b *Browser) SetCookieString(u *url.URL, cookie string)

SetCookieString 设置 Cookie

func (*Browser) SetTimeout

func (b *Browser) SetTimeout(v time.Duration)

SetTimeout 设置每次请求超时

func (*Browser) SetUserAgent

func (b *Browser) SetUserAgent(v string)

SetUserAgent 设置自定义的 User-Agent

默认会从内置的几个 User-Agent 里随即选一个,你也可以通过这个方法自己设置一个

(bushi)建议直接设置成自己的身份证号展示给阿b,就赌程序员不会无聊到翻 User-Agent (bushi)

func (*Browser) Write

func (b *Browser) Write(v []byte) error

Write 写入 websocket 消息

type UserAgentTransport

type UserAgentTransport struct {
	UserAgent string
	// contains filtered or unexported fields
}

一个用于添加 User-Agent 的 transport(我也不知道 transport 怎么翻译啦)

其实也不一定是 User-Agent,所有想对请求做的修改都可以在这里面实现

func (*UserAgentTransport) RoundTrip

func (t *UserAgentTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip 实现 http.RoundTripper 接口

当前这里仅仅添加了 User-Agent 请求头,一切对 request 的操作都可以在这里实现

Jump to

Keyboard shortcuts

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