1. 首页
  2. 主题
  3. Go问与答

goquery如何设置超时

gu_817 · · 1095 次点击
doc, err := goquery.NewDocument("www.baidu.com") if err != nil { return log.Fatal(err) } 如果这个www.baidu.com 一直在加载,无法加载完成,goquery就会卡,无法继续,也不会超时,等到一定的时间就是出现被断开,程序出现错误,求高手解决
goquery 不了解,可以通过一个chan ,ticker定时像chan发送一个信号,达到检测超时的目的。
#1
更多评论
又没办法 ,比如过30秒,自动跳出
#2
polaris
社区,需要你我一同完善!
最新版本的 goquery,不建议使用 NewDocument 了,建议自己通过 http 包来获取。所以,超时自己来控制就好。官方的示例,通过NewDocumentFromReader 获取。 ```go // Request the HTML page. res, err := http.Get("http://metalsucks.net") if err != nil { log.Fatal(err) } defer res.Body.Close() if res.StatusCode != 200 { log.Fatalf("status code error: %d %s", res.StatusCode, res.Status) } // Load the HTML document doc, err := goquery.NewDocumentFromReader(res.Body) if err != nil { log.Fatal(err) } ```
#3

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中