Go - GET HTTP Request with Query Parameters

In this source code example, we will show how to make an HTTP GET request call with query parameters in Golang.

All Golang source code examples at https://www.sourcecodeexamples.net/p/golang-source-code-examples.html

Go - GET request with query parameters

Let's create a file named "go_example.go" and add the following source code to it.

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
)

func main() {

    name := "Admin"
    occupation := "Engineer"

    params := "name=" + url.QueryEscape(name) + "&" +
        "occupation=" + url.QueryEscape(occupation)
    path := fmt.Sprintf("https://httpbin.org/get?%s", params)

    resp, err := http.Get(path)

    if err != nil {
        log.Fatal(err)
    }

    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)

    if err != nil {

        log.Fatal(err)
    }

    fmt.Println(string(body))
}

Note that the above example appends query parameters to the URL.

Run the following command to execute the go_example.go file:

G:\GoLang\examples>go run go_example.go
{
  "args": {
    "name": "Admin",
    "occupation": "Engineer"
  },
  "headers": {
    "Accept-Encoding": "gzip",
    "Host": "httpbin.org",
    "User-Agent": "Go-http-client/2.0",
    "X-Amzn-Trace-Id": "Root=1-60d072dd-69515e203aad78b55270febd"
  },
  "origin": "103.208.69.12",
  "url": "https://httpbin.org/get?name=Admin&occupation=Engineer"
}

Related Golang Source Code Examples



Comments