package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"net/url"
"time"
)
func simpleTest() {
proxyAddr := "socks5://usertest-id3433-0-US-N:ur87d@vp6.endpoint.pw:9135/"
targetURL := "http://ip234.in/ip.json"
proxy, err := url.Parse(proxyAddr)
if err != nil {
log.Fatal(err)
}
netTransport := &http.Transport{
Proxy:http.ProxyURL(proxy),
MaxIdleConnsPerHost:10,
ResponseHeaderTimeout: time.Second * time.Duration(10),
}
httpClient := &http.Client{
Timeout: time.Second * 30,
Transport: netTransport,
}
res, err := httpClient.Get(targetURL)
if err != nil {
log.Println(err)
return
}
defer res.Body.Close()
if res.StatusCode != http.StatusOK {
log.Println(err)
return
}
c, _ := ioutil.ReadAll(res.Body)
fmt.Println(string(c))
}
func proxyGet(targeturl string, proxy_server string,proxy_port int,
proxy_user string, proxy_pass string, ptype string) string {
proxyAddr := ""
if proxy_user != "" {
proxyAddr = fmt.Sprintf("
} else {
proxyAddr = fmt.Sprintf("
}
proxy, err := url.Parse(proxyAddr)
if err != nil {
fmt.Println("err channel:", proxy_server, proxy_user, proxy_pass)
fmt.Println(err)
return ""
}
netTransport := &http.Transport{
Proxy:http.ProxyURL(proxy),
MaxIdleConnsPerHost: -1,
ResponseHeaderTimeout: time.Second * time.Duration(10),
}
httpClient := &http.Client{
Timeout:time.Second * 20,
Transport: netTransport,
}
var res *http.Response
res, err = httpClient.Get(targeturl)
if err != nil {
fmt.Println("err proxy:", proxy_server, proxy_user, proxy_pass)
fmt.Println(err)
return ""
}
defer res.Body.Close()
if res.StatusCode != http.StatusOK {
fmt.Println("err proxy:", proxy_server, proxy_user, proxy_pass)
fmt.Println(err)
return ""
}
c, _ := ioutil.ReadAll(res.Body)
fmt.Println("proxy:", proxy_server, proxy_user, proxy_pass)
fmt.Println(string(c))
return string(c)
}