请教一个http 问题

Jamie · · 658 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

写了一个socks5代理检查功能 编译成dll给其他语言调用 发现前500连接正常返回 后面直接报错 请问怎样解决? err:Get http://api.guajicun.com/getip/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) ================分割线================== func main() { for i := 0; i < 1000; i++ { go Socks5Tcp("xxx", "user", "user", 3000) } } func Socks5Tcp(host, user, pass string, out int) string { // create a socks5 dialer dialer, err := proxy.SOCKS5("tcp", host, &proxy.Auth{user, pass}, proxy.Direct) if err != nil { return fmt.Sprintf("error:%v", err) } // setup a http client httpTransport := &http.Transport{} httpClient := &http.Client{Transport: httpTransport, Timeout: time.Millisecond * time.Duration(out)} // set our socks5 as the dialer httpTransport.Dial = dialer.Dial resp, err := httpClient.Get("http://api.guajicun.com/getip/") if err != nil { return fmt.Sprintf("error:%v", err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return fmt.Sprintf("error:%v", err) } // success return fmt.Sprintf("success:%s", body) }

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

658 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传