


How to send a GET request and parse the response using HTTP client functions in Go language?
How to send a GET request and parse the response using HTTP client functions in Go language?
1. Introduction to HTTP client functions
In the Go language, the standard library provides functions for implementing HTTP clients. These functions can be used to send various types of HTTP requests and parse the responses. In this article, we will focus on how to use HTTP client functions to send a GET request and parse the response.
2. Send a GET request
In the Go language, sending a GET request can be implemented through the http.Get()
function. The following is a simple example:
package main import ( "fmt" "log" "net/http" "io/ioutil" ) func main() { resp, err := http.Get("https://api.example.com/data") 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)) }
In the above code, we send a GET request by calling the http.Get()
function. This function returns a response object resp
and a possible error err
. We use the defer
statement to ensure that the response body is closed before the function exits.
3. Parse the response
In the previous step, we read all the data from the response body through the ioutil.ReadAll()
function and stored it in a byte arraybody
中. Typically, we need to parse the response data into a specific data structure for further processing.
The following is an example of parsing response data into JSON format:
package main import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" ) type Data struct { ID int `json:"id"` Name string `json:"name"` } func main() { resp, err := http.Get("https://api.example.com/data") if err != nil { log.Fatal(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } var data Data err = json.Unmarshal(body, &data) if err != nil { log.Fatal(err) } fmt.Printf("ID: %d ", data.ID) fmt.Printf("Name: %s ", data.Name) }
In the above code, we define a Data
structure containing ID Two fields,
and Name
. By calling the json.Unmarshal()
function, the response data is parsed into a Data
structure object data
. Finally, we print out the field value of data
.
The above are the basic steps and sample code for using the HTTP client function in the Go language to send a GET request and parse the response. Through these functions, we can easily handle HTTP requests and responses and further process the required data.
The above is the detailed content of How to send a GET request and parse the response using HTTP client functions in Go language?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

Two ways to define structures in Go language: the difference between var and type keywords. When defining structures, Go language often sees two different ways of writing: First...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

Go pointer syntax and addressing problems in the use of viper library When programming in Go language, it is crucial to understand the syntax and usage of pointers, especially in...
