From 171366698b07fa3be1ecb6f55b6e8c190d69cbc1 Mon Sep 17 00:00:00 2001 From: sago35 Date: Fri, 22 Jul 2022 21:35:19 +0900 Subject: [PATCH] net/http: Fix http.Get() with port specification --- net/http/tinygo.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/net/http/tinygo.go b/net/http/tinygo.go index 6d7a880..3645faf 100644 --- a/net/http/tinygo.go +++ b/net/http/tinygo.go @@ -38,8 +38,16 @@ func (c *Client) doHTTP(req *Request) (*Response, error) { } // make TCP connection - ip := net.ParseIP(req.URL.Host) - raddr := &net.TCPAddr{IP: ip, Port: 80} + ip := net.ParseIP(req.URL.Hostname()) + port := 80 + if req.URL.Port() != "" { + p, err := strconv.ParseUint(req.URL.Port(), 0, 64) + if err != nil { + return nil, err + } + port = int(p) + } + raddr := &net.TCPAddr{IP: ip, Port: port} laddr := &net.TCPAddr{Port: 8080} conn, err := net.DialTCP("tcp", laddr, raddr)