Home  >  Article  >  Backend Development  >  How to close HTTP client connection using Golang?

How to close HTTP client connection using Golang?

WBOY
WBOYOriginal
2024-06-02 21:01:02357browse

How to close HTTP client connection using Go? Use the CloseIdleConnections() method to close idle connections. This method releases unused connections in the connection pool and saves system resources. This method does not affect connections that are still in use.

如何使用 Golang 关闭 HTTP 客户机连接?

#How to close an HTTP client connection using Go?

The HTTP client in the Go language provides a connection management function, which allows developers to explicitly close unnecessary HTTP connections to release system resources.

The standard way to close an HTTP connection is to use the Close() method. This method closes the underlying TCP connection and releases all resources associated with it.

Syntax:

func (c *Client) CloseIdleConnections()

Example:

The following is an example of closing an HTTP client connection:

package main

import (
    "net/http"
    "time"
)

func main() {
    // 创建 HTTP 客户端
    client := &http.Client{
        Timeout: time.Second * 10,
    }

    // 向服务器发送请求
    resp, err := client.Get("https://example.com")
    if err != nil {
        // 处理错误
    }

    // 读取响应主体
    _, err = resp.Body.Read(make([]byte, 1024))
    if err != nil {
        // 处理错误
    }

    // 关闭 HTTP 连接
    client.CloseIdleConnections()
}

In the above example, we created an HTTP client and used the CloseIdleConnections() method to close all idle HTTP connections. This helps free up unused connections in the connection pool, thereby saving system resources.

Please note that the CloseIdleConnections() method only closes idle connections. If there are still connections in use, this method does not affect them.

The above is the detailed content of How to close HTTP client connection using Golang?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn