gns

package module
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

README

gns

介绍

使用Go编写的网络模块

功能清单
状态检测
  • TCP/UDP端口检测
  • 网站/网址状态检测(可自定义状态码)
  • PING检测
  • 批量PING检测
信息获取
  • 本机IP地址获取
  • 本机互联网出口地址获取
其他
  • 文件下载(只建议下载小文件,如需下载大文件请使用gdf项目)

使用说明

安装
go get -u gitee.com/liumou_site/gns
使用方法

直接参照单元测试Demo

状态检测Demo

信息获取Demo

问题反馈

点击链接加入QQ群聊【坐公交也用券

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DownloadFile

func DownloadFile(url string, save string) bool

DownloadFile 从指定的URL下载文件并保存到本地路径。 参数:

url: 要下载的文件的URL。
save: 保存文件的本地路径。

返回值:

如果下载成功,返回true;否则返回false。

func MarshalMsg added in v1.1.7

func MarshalMsg(req int, data []byte) ([]byte, error)

func OpenUrl added in v1.2.7

func OpenUrl(url string)

OpenUrl 使用 xdg-open 命令在默认浏览器中打开指定的 URL。 参数:

url: 需要打开的网址字符串。

func Ping added in v1.1.7

func Ping(host string, req int, debug bool) error

Ping 通过net模块构造数据实现icmp请求达到Ping检测主机在线的效果

func PingConcurrency

func PingConcurrency(sub string, start, stop int) (res bool, use, notUsed string)

PingConcurrency 这是一个高并发的Ping检测功能 sub 子网,例如: 10.1.1 icmp/stop 开始及结束 use 被使用的主机 notuse 未使用的主机(字符串返回: 10.1.1.2 10.1.1.3)可以使用切片切割数据 res 是否进入检测条件

func PortTcpStatus added in v1.3.0

func PortTcpStatus(ip, port string, out time.Duration) bool

PortTcpStatus 检查指定IP和端口是否可以成功建立TCP连接。 参数:

ip: 目标IP地址
port: 目标端口号
out: 连接超时时间的倍数,默认为1秒

返回值:

如果连接成功返回true,否则返回false

func PortUdpStatus added in v1.3.0

func PortUdpStatus(ip, port string, out time.Duration) bool

PortUdpStatus 检查指定IP和UDP端口的状态。 它尝试建立一个UDP连接,并在指定的超时时间内等待响应。 如果连接成功,函数返回true;如果发生错误或超时,函数返回false。

参数:

ip: 要检查的UDP服务的IP地址。
port: 要检查的UDP服务的端口号。
out: 连接超时的时间倍数,默认为1秒。

func SliceToString

func SliceToString(ls []string, sep string) string

SliceToString 字符串列表转字符串(seq: 拼接符,可以用: 空格 / _ @ 之类,具体请以实际需求设置)

func Version

func Version()

Types

type Api

type Api struct {
	UseTxt, NotUsed string         // 使用/没使用的ip清单
	Req             *http.Request  // 请求实例
	Resp            *http.Response // 响应实例
	Err             error          // 错误
	// contains filtered or unexported fields
}

Api 定义GNS结构体

func NewNet added in v1.2.6

func NewNet() *Api

NewNet 初始化配置

func (*Api) HttpStatus

func (api *Api) HttpStatus(host string) bool

HttpStatus 是一个使用tcp检测网页是否正常访问的功能 host: 需要检查的主机

func (*Api) HttpStatusUrl

func (api *Api) HttpStatusUrl(url string) error

HttpStatusUrl 发送一个 GET 请求到指定的 URL,并检查 HTTP 状态码。 如果请求成功,函数返回 nil;如果有错误发生,返回相应的错误。

func (*Api) HttpStatusUrlBool added in v1.3.2

func (api *Api) HttpStatusUrlBool(url string) bool

HttpStatusUrlBool 发送HTTP请求并检查响应状态码是否与预期相符。 如果状态码匹配,返回true;否则返回false。 参数:

url: 请求的目标URL。

type IpApi

type IpApi struct {
	// contains filtered or unexported fields
}

func NewIp added in v1.2.6

func NewIp() *IpApi

NewIp 初始化IP参数

type PingCmdAPI added in v1.2.2

type PingCmdAPI struct {
	Realtime   bool // 是否开启实时刷新
	ExitStatus bool // 是否打印每次退出代码
	// contains filtered or unexported fields
}

func NewPing added in v1.2.6

func NewPing(count, timeout int) *PingCmdAPI

func (*PingCmdAPI) PingCmd added in v1.2.2

func (p *PingCmdAPI) PingCmd(host string) error

PingCmd 通过调用系统命令进行ping检测

func (*PingCmdAPI) PingLoss added in v1.3.0

func (p *PingCmdAPI) PingLoss(host string, pack int) (err error, loss int)

PingLoss 通过调用系统命令进行ping检测丢包率

type Reply added in v1.1.7

type Reply struct {
	Time  int64
	TTL   uint8
	Error error
}

Jump to

Keyboard shortcuts

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