gpt4 book ai didi

go - net.IP 没有实现 net.Addr(缺少网络方法)

转载 作者:IT王子 更新时间:2023-10-29 01:51:02 25 4
gpt4 key购买 nike

我有以下代码。我收到此错误:

testdl.go:17: 不能在字段值中使用 q(类型 net.IP)作为类型 net.Addr: net.IP 没有实现 net.Addr(缺少网络方法)

知道如何将硬编码 IP 放入 LocalAddr 吗?

package main

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

var url = "http://URL/api.xml"

func main() {

q := net.ParseIP("192.168.0.1")

var transport = &http.Transport{
Dial: (&net.Dialer{
LocalAddr: q,
}).Dial,
}
var httpclient = &http.Client{
Transport: transport,
}

response, err := httpclient.Get(url)
fmt.Println(response)
}

最佳答案

根据文档,IP 类型确实没有实现Addr。但是,IPAddr 类型会:

type IPAddr struct {
IP IP
Zone string // IPv6 scoped addressing zone
}

因此,您的代码变为:

q := net.ParseIP("192.168.0.1")
addr := &net.IPAddr{q,""}

var transport = &http.Transport{
Dial: (&net.Dialer{
LocalAddr: addr,
}).Dial,
}

关于go - net.IP 没有实现 net.Addr(缺少网络方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40425479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com