最近开始学习 golang ,写了个软件练习下。把其中代理部分独立出来,写成了个库。随着软件慢慢完成,这个库会慢慢完善。
现在已知的缺陷是 socks5 未提供 udp 支持, DialTimeout 未完成, LocalAddr 、 RemoteAddr 未完成,未实现 http.Transport 。
https://github.com/GameXG/ProxyClient
package main import ( "fmt" "github.com/gamexg/proxyclient" "io" "io/ioutil" ) func main() { p, err := proxyclient.NewProxyClient("socks5://127.0.0.1:5556") if err != nil { panic("创建代理客户端错误") } c, err := p.Dial("tcp", "www.google.com:80") if err != nil { panic("连接错误") } io.WriteString(c, "GET / HTTP/1.0\r\nHOST:www.google.com\r\n\r\n") b, err := ioutil.ReadAll(c) if err != nil { panic("读错误") } fmt.Print(string(b)) }
![]() | 1 Comdex 2015-11-10 23:11:54 +08:00 mark |
2 wicast 2015-11-11 00:52:58 +08:00 via Android 其实咱还是想说句……官方有包了(逃 https://godoc.org/golang.org/x/net/proxy |
3 Nixus 2015-11-11 14:35:57 +08:00 mark |