Client端请求延迟处理 -golang

package main

import (
    "fmt"
    "net/http"
    "time"
    "net"
)

var url = []string{
    "http://www.baidu.com",
    "http://google.com",
    "http://taobao.com",
}

func main()  {
    
    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)
    } 
}

output

head succ, status: 200 OK
head http://google.com failed, err: Head http://google.com: dial tcp [2404:6800:4008:802::200e]:80: i/o timeout
head succ, status: 200 OK
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容