一,设置服务端
func ipv6_test(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("jsf ipv6"))
return
}
func main() {
err := http.ListenAndServe("[fe80::266e:96ff:fe12:c8a4%eth4]:1817", http.HandlerFunc(ipv6_test))
if err != nil {
fmt.Println(err)
}
for {
}
}
二,客户端访问
curl -g -d -k -v --interface [本机ipv6地址] https://[目标ipv6地址]:端口号/123.html
ipv6 的 url 中 使用 "[" 和 "]" 将 ipv6 的地址括起来;
使用 -g 选项,使 curl 使用正确的对 url 中的 "[" 和 "]" 字符的处理方式,必须携带该选项;
如果使用域名而非 ipv6地址访问,且 dns 解析出来的是 ipv6 地址时,同样需要使用这些选项;
--interface 后面需要指定 正确的可以访问到目标 ipv6 地址的本机的 ipv6 地址,同样需要使用 "[" "]" 将其括起来,此选项根据实际情况选用,可以省略;
-k 是针对ssl的,根据实际情况自行选择;
-v 是查看具体请求与返回信息;
关于 -6,该选项是指示 curl 将目标域名仅解析为 ipv6 地址.
示例:
curl -6 --interface eth4 "http://[fe80::266e:96ff:fe12:c8a4]:1817/" -g
curl --interface eth4 "http://[fe80::266e:96ff:fe12:c8a4]:1817/"