jyhl
5 years ago
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