httpKit

package
v0.2.11 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetVisitIp

func GetVisitIp(r *http.Request) (ip string)

GetVisitIp 获取访问用户ip *

  • X-Real-IP:只包含客户端机器的一个IP,如果为空,某些代理服务器(如Nginx)会填充此header。
  • X-Forwarded-For:一系列的IP地址列表,以,分隔,每个经过的代理服务器都会添加一个IP。
  • RemoteAddr:包含客户端的真实IP地址。 这是Web服务器从其接收连接并将响应发送到的实际物理IP地址。 但是,如果客户端通过代理连接,它将提供代理的IP地址。
  • RemoteAddr是最可靠的,但是如果客户端位于代理之后或使用负载平衡器或反向代理服务器时,它将永远不会提供正确的IP地址,因此顺序是先是X-REAL-IP,
  • 然后是X-FORWARDED-FOR,然后是 RemoteAddr。 请注意,恶意用户可以创建伪造的X-REAL-IP和X-FORWARDED-FOR标头。

func HttpBasic

func HttpBasic(urlString, httpMethod string, headers, paramMap map[string]string, body string, timeout int) (string, error)

HttpBasic 发送http请求[基础] *

  • @param urlString 网址
  • @param httpMethod http请求方法 http.MethodPost http.MethodGet
  • @param headers header信息
  • @param paramMap post表单数据
  • @param body body数据
  • @param timeout 超时时长,-1表示默认超时,单位毫秒
  • @return string 网页内容,error

func HttpDownload added in v0.1.1

func HttpDownload(urlString, savePath, fileName string, isCover bool) (string, error)

HttpDownload 下载文件 *

  • @param urlString 网址
  • @param savePath 保存路径
  • @param fileName 文件名,如果不存在则自动获取
  • @param isCover 是否覆盖 true 覆盖 false 不覆盖(当文件存在的时候返回该文件已存在)
  • @return string 文件路径,error

func HttpGet

func HttpGet(urlString string) (string, error)

HttpGet 发送get请求 *

  • @param urlString 网址
  • @return string 网页内容,error

func HttpGetFull

func HttpGetFull(urlString string, headers, paramMap map[string]string, body string, timeout int) (string, error)

HttpGetFull 发送get请求[完整版] *

  • @param urlString 网址
  • @param headers header信息
  • @param paramMap post表单数据
  • @param body body数据
  • @param timeout 超时时长,-1表示默认超时,单位毫秒
  • @return string 网页内容,error

func HttpPost added in v0.1.1

func HttpPost(urlString string, params map[string]string) (string, error)

HttpPost 发送post基础请求 *

  • @param urlString 网址
  • @param params post表单数据
  • @return string 网页内容,error

func HttpPostFull

func HttpPostFull(urlString string, headers, paramMap map[string]string, body string, timeout int) (string, error)

HttpPostFull 发送post请求[完整版] *

  • @param urlString 网址
  • @param headers header信息
  • @param paramMap post表单数据
  • @param body body数据
  • @param timeout 超时时长,-1表示默认超时,单位毫秒
  • @return string 网页内容,error

func HttpProxyBasic added in v0.2.5

func HttpProxyBasic(urlStr, httpMethod string, headers, paramMap map[string]string,
	body string, timeout int, proxyHttpType, username, password, proxyIpPort string) (map[string]string, string, error)

HttpProxyBasic 发送http代理请求[基础] *

  • 注意:proxyIpPort的格式并未校验需要自行校验,原因是有些代理ip可能为ipv6
  • 感谢:感谢巨量IP(https://juliangip.com?goKit)提供测试ip
  • @param urlStr 网址
  • @param httpMethod http请求方法 http.MethodPost http.MethodGet
  • @param headers header信息
  • @param paramMap post表单数据
  • @param body body数据
  • @param timeout 超时时长,-1表示默认超时,单位毫秒
  • @param proxyHttpType 代理类型 http/https
  • @param username 用户名 用户名和密码为空时默认使用无账号密码的代理
  • @param password 密码
  • @param proxyIpPort 代理ip端口 格式:ip:port
  • @return string 网页内容,error

func HttpProxyGet added in v0.2.5

func HttpProxyGet(urlStr, proxyIpPort string) (map[string]string, string, error)

HttpProxyGet 发送get代理请求 *

  • @param urlStr 网址
  • @param proxyIpPort 代理ip和端口
  • @return string 网页内容,error

func HttpProxyGetFull added in v0.2.5

func HttpProxyGetFull(urlString string, headers, paramMap map[string]string, body string,
	timeout int, proxyHttpType, username, password, proxyIpPort string) (map[string]string, string, error)

HttpProxyGetFull 发送get代理请求[完整版] *

  • @param urlString 网址
  • @param headers header信息
  • @param paramMap 参数
  • @param body body数据
  • @param timeout 超时时长,-1表示默认超时,单位毫秒
  • @param proxyHttpType 代理类型 http/https
  • @param username 用户名 用户名和密码为空时不使用代理
  • @param password 密码
  • @param proxyIpPort 代理ip和端口
  • @return string 网页内容,error

func HttpProxyPost added in v0.2.5

func HttpProxyPost(urlStr string, paramMap map[string]string, proxyIpPort string) (map[string]string, string, error)

HttpProxyPost 发送post代理请求 *

  • @param urlStr 网址
  • @param paramMap 参数
  • @param proxyIpPort 代理ip和端口
  • @return string 网页内容,error

func HttpProxyPostFull added in v0.2.5

func HttpProxyPostFull(urlString string, headers, paramMap map[string]string, body string,
	timeout int, proxyHttpType, username, password, proxyIpPort string) (map[string]string, string, error)

HttpProxyPostFull 发送post代理请求[完整版] *

  • @param urlString 网址
  • @param headers header信息
  • @param paramMap 参数
  • @param body body数据
  • @param timeout 超时时长,-1表示默认超时,单位毫秒
  • @param proxyHttpType 代理类型 http/https
  • @param username 用户名 用户名和密码为空时不使用代理
  • @param password 密码
  • @param proxyIpPort 代理ip和端口
  • @return string 网页内容,error

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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