drtldt55533 2018-05-15 10:04
浏览 134
已采纳

tls.Dial返回“地址中的冒号太多”

I am trying to loop through an array of addresses, and check their tls cert status. I pieced together a program from various examples that do other things.

My first step in processing is

conn, err := tls.Dial("tcp", url, nil)

where 'url' is passed in from the array (I do import crypto/tls). Before I go on to pulling the cert, I check for errors:

if err != nil { 
    log.Printf("Unable to get %q - %s
", url, err)
    return
}

Here is a snippet of the array (with only test addresses for now):

var urls = []string{
    "https://google.com:443",
    "https://expired.badssl.com:443",
    "[https://wrong.host.badssl.com]:443",
    "[https://self-signed.badssl.com]:443"
}

The first 2 return too many colons in address I found a suggestion to fix that using the brackets. The next 2 addresses, with the brackets, return no such host

Where is my error?

  • 写回答

1条回答 默认 最新

  • douxi3432 2018-05-15 10:09
    关注

    It should be domain name, IPv4 or IPv6 address with port only, not URL.

    conn, err := tls.Dial("tcp", "mail.google.com:443", &tls.Config{
        RootCAs: roots,
    })
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1