commit
					c1b2b0f0fc
				
				 2 changed files with 72 additions and 0 deletions
			
			
		| @ -0,0 +1,68 @@ | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"net/url" | ||||
| 	"net/http" | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| ) | ||||
| 
 | ||||
| // 代理服务器(产品官网 www.16yun.cn)
 | ||||
| const ProxyServer = "t.16yun.cn:31111" | ||||
| 
 | ||||
| type ProxyAuth struct { | ||||
| 	Username string | ||||
| 	Password string | ||||
| } | ||||
| 
 | ||||
| func (p ProxyAuth) ProxyClient() http.Client { | ||||
| 
 | ||||
| 	var proxyURL *url.URL | ||||
| 	if p.Username != ""&& p.Password!="" { | ||||
| 		proxyURL, _ = url.Parse("http://" + p.Username + ":" + p.Password + "@" + ProxyServer) | ||||
| 	}else{ | ||||
| 		proxyURL, _ = url.Parse("http://" + ProxyServer) | ||||
| 	} | ||||
| 	return http.Client{Transport: &http.Transport{Proxy:http.ProxyURL(proxyURL)}} | ||||
| } | ||||
| 
 | ||||
| func main()  { | ||||
| 
 | ||||
| 	//服务器域名:u4866.b5.t.16yun.cn
 | ||||
| 	//服务端口:6460
 | ||||
| 	//用户名:16JCNPZD
 | ||||
| 	//密码:238369
 | ||||
| 
 | ||||
| 	targetURI := "https://httpbin.org/ip" | ||||
| 
 | ||||
| 
 | ||||
| 	// 初始化 proxy http client
 | ||||
| 	client := ProxyAuth{"USERNAME",  "PASSWORD"}.ProxyClient() | ||||
| 
 | ||||
| 	request, _ := http.NewRequest("GET", targetURI, bytes.NewBuffer([] byte(``))) | ||||
| 
 | ||||
| 	// 设置Proxy-Tunnel
 | ||||
| 	// rand.Seed(time.Now().UnixNano())
 | ||||
| 	// tunnel := rand.Intn(10000)
 | ||||
| 	// request.Header.Set("Proxy-Tunnel", strconv.Itoa(tunnel) )
 | ||||
| 
 | ||||
| 	response, err := client.Do(request) | ||||
| 
 | ||||
| 	if err != nil { | ||||
| 		panic("failed to connect: " + err.Error()) | ||||
| 	} else { | ||||
| 		bodyByte, err := ioutil.ReadAll(response.Body) | ||||
| 		if err != nil { | ||||
| 			fmt.Println("读取 Body 时出错", err) | ||||
| 			return | ||||
| 		} | ||||
| 		response.Body.Close() | ||||
| 
 | ||||
| 		body := string(bodyByte) | ||||
| 
 | ||||
| 		fmt.Println("Response Status:", response.Status) | ||||
| 		fmt.Println("Response Header:", response.Header) | ||||
| 		fmt.Println("Response Body:\n", body) | ||||
| 	} | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue