go-head获取网站状态码并设置超时时间
package main
import (
	"fmt"
	"net"
	"net/http"
	"time"
)
var url = []string{
	"http://www.baidu.com",
	"http://google.com",
	"http://taobao.com",
}
func main() {
        //底层调用net的http.Client.Transport的方法
        // 自定义Transport 并设置timeout为2s,可以自定义
	for _, v := range url {
		c := http.Client{
			Transport: &http.Transport {
				Dial:func(network, addr string) (net.Conn, error){
					timeout := time.Second*2
					return net.DialTimeout(network, addr, timeout)
				},
			},
		}
		resp, err := c.Head(v)
		if err != nil {
			fmt.Printf("head %s failed, err:%v\n", v, err)
			continue
		}
		fmt.Printf("head succ, status:%v\n", resp.Status)
	}
}
 
                    
                
                
            
        
浙公网安备 33010602011771号