the proxy client library
refactor from github.com/RouterScript/ProxyClient
supported SOCKS4, SOCKS4A, SOCKS5, HTTP, HTTPS etc proxy protocols
- Direct
- Reject
- Blackhole
- HTTP (fixed)
- HTTPS (fixed)
- SOCKS5 (fixed)
- ShadowSocks (fixed)
- SSH Agent (fixed)
- suo5
- neoreg
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"github.com/chainreactors/proxyclient"
)
func main() {
proxy, _ := url.Parse("http://localhost:8080")
dial, _ := proxyclient.NewClient(proxy)
client := &http.Client{
Transport: &http.Transport{
DialContext: dial.Context,
},
}
request, err := client.Get("http://www.example.com")
if err != nil {
panic(err)
}
content, err := ioutil.ReadAll(request.Body)
if err != nil {
panic(err)
}
fmt.Println(string(content))
}