Skip to content

workcha/GoLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2aaa3ae · Apr 23, 2022

History

24 Commits
Apr 2, 2022
Apr 23, 2022
Apr 22, 2022
Apr 23, 2022
Apr 2, 2022
Apr 23, 2022
Apr 23, 2022
Apr 23, 2022
Apr 10, 2022
Apr 10, 2022
Apr 10, 2022
Apr 10, 2022
Apr 23, 2022
Apr 22, 2022

Repository files navigation

GoLib

向K41看起,存一些开发项目时常见的函数,封装好了以便以后直接拿来用。

xhttp

兼容各种发包(JSON、文件上传、XML),自带title、状态、请求包、返回包获取,适合用于扫描器开发的组件

函数

    初始化
    http := Http{Proxy: "http://127.0.0.1:8080", Header: header, TimeOut: 3}
    普通GET请求
    http.GET("http://127.0.0.1/8899.php")
    普通POST请求
    resp2 := http.POST("http://127.0.0.1/8899.php", "A=1&N2=12")
    JSON请求
    http.JsonRequest("http://127.0.0.1/8899.php", "{\"a\":\"1\"}")
    XML请求
    http.XMLRequest("http://127.0.0.1/8899.php", "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<note>\n<to>George</to>\n<from>John</from>\n<heading>Reminder</heading>\n<body>Don't forget the meeting!</body>\n</note>")
    文件上传
    resp := http.FileUpload("file", "1.png", "http://127.0.0.1/8899.php", "image/png", []byte("I'am content"), map[string]string{"param": "1"})
    获取请求包
    println(resp.RequestPackage)
    获取返回包
	println(resp.ResponsePackage)
    ...
    //返回结果
    具体可查看测试文件或者xhttp.go
    type HttpResponse struct {
        BaseResponse	*http.Response
        Url 			string
        Status 			string
        ResponseHeader  map[string][]string
        ResponseBody 	string
        Title			string
        RequestPackage  string
        ResponsePackage	string
    }

demo

    header := map[string]string{
		//"accept": "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01",
		//"accept-encoding": "gzip, deflate, br",
		"accept-language": "zh-CN,zh;q=0.9",
		"Referer":         "https://item-paimai.taobao.com/pmp_item/609160317276.htm?s=pmp_detail&spm=a213x.7340941.2001.61.1aec2cb6RKlKoy",
		"sec-fetch-mode":  "cors",
		"sec-fetch-site":  "same-origin",
		"user-agent":      "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
		//"x-requested-with": "XMLHttpRequest",
	}
	http := Http{Proxy: "http://127.0.0.1:8080", Header: header, TimeOut: 3}

	/*
		GET /8899.php HTTP/1.1
		Host: 127.0.0.1
		User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
		Accept-Language: zh-CN,zh;q=0.9
		Content-Type: application/x- www-form-urlencoded
		Referer: https://item-paimai.taobao.com/pmp_item/609160317276.htm?s=pmp_detail&spm=a213x.7340941.2001.61.1aec2cb6RKlKoy
		Sec-Fetch-Mode: cors
		Sec-Fetch-Site: same-origin
		Connection: close

	*/
	http.GET("http://127.0.0.1/8899.php")
	/*
		Content-Length: 100
		Date: Sat, 02 Apr 2022 02:15:30 GMT
		Server: Apache/2.4.39 (Win32) OpenSSL/1.0.2r mod_fcgid/2.3.9a mod_log_rotate/1.02
		X-Powered-By: PHP/7.3.4
		Content-Type: text/html; charset=UTF-8
	*/
	/*
		POST /8899.php HTTP/1.1
		Host: 127.0.0.1
		User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
		Accept-Language: zh-CN,zh;q=0.9
		Content-Type: application/x- www-form-urlencoded
		Referer: https://item-paimai.taobao.com/pmp_item/609160317276.htm?s=pmp_detail&spm=a213x.7340941.2001.61.1aec2cb6RKlKoy
		Sec-Fetch-Mode: cors
		Sec-Fetch-Site: same-origin
		Content-Length: 9
		Connection: close

		A=1&N2=12
	*/
	resp2 := http.POST("http://127.0.0.1/8899.php", "A=1&N2=12")
	println(resp2.ResponsePackage)
	/*
		POST /8899.php HTTP/1.1
		Host: 127.0.0.1
		User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
		Accept-Language: zh-CN,zh;q=0.9
		Content-Type: application/json
		Referer: https://item-paimai.taobao.com/pmp_item/609160317276.htm?s=pmp_detail&spm=a213x.7340941.2001.61.1aec2cb6RKlKoy
		Sec-Fetch-Mode: cors
		Sec-Fetch-Site: same-origin
		Content-Length: 9
		Connection: close

		{"a":"1"}
	*/
	http.JsonRequest("http://127.0.0.1/8899.php", "{\"a\":\"1\"}")

	/*
		POST /8899.php HTTP/1.1
		Host: 127.0.0.1
		User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
		Accept-Language: zh-CN,zh;q=0.9
		Content-Type: text/xml
		Referer: https://item-paimai.taobao.com/pmp_item/609160317276.htm?s=pmp_detail&spm=a213x.7340941.2001.61.1aec2cb6RKlKoy
		Sec-Fetch-Mode: cors
		Sec-Fetch-Site: same-origin
		Content-Length: 159
		Connection: close

		<?xml version="1.0" encoding="ISO-8859-1"?>
		<note>
		<to>George</to>
		<from>John</from>
		<heading>Reminder</heading>
		<body>Don't forget the meeting!</body>
		</note>
	*/
	http.XMLRequest("http://127.0.0.1/8899.php", "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<note>\n<to>George</to>\n<from>John</from>\n<heading>Reminder</heading>\n<body>Don't forget the meeting!</body>\n</note>")

	/*
		POST /8899.php HTTP/1.1
		Host: 127.0.0.1
		User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
		Content-Length: 349
		Accept-Language: zh-CN,zh;q=0.9
		Content-Type: multipart/form-data; boundary=67c9c129a6b68b717510fdff951a65ac97a9134f383bf679eb91512d77de
		Referer: https://item-paimai.taobao.com/pmp_item/609160317276.htm?s=pmp_detail&spm=a213x.7340941.2001.61.1aec2cb6RKlKoy
		Sec-Fetch-Mode: cors
		Sec-Fetch-Site: same-origin
		Connection: close

		--67c9c129a6b68b717510fdff951a65ac97a9134f383bf679eb91512d77de
		Content-Disposition: form-data; name="param"

		1
		--67c9c129a6b68b717510fdff951a65ac97a9134f383bf679eb91512d77de
		Content-Disposition: form-data; name="file"; filename="1.png"
		Content-Type: image/png

		I'am content
		--67c9c129a6b68b717510fdff951a65ac97a9134f383bf679eb91512d77de--

	*/
	//文件上传
	http.FileUpload("file", "1.png", "http://127.0.0.1/8899.php", "image/png", []byte("I'am content"), map[string]string{"param": "1"})
	

About

GoLib 适用于扫描器的go库

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages