golang modifies http information

PHPz
Release: 2023-05-12 21:01:07
Original
626 people have browsed it

Golang is an efficient and easy-to-use programming language that is loved by many developers. When using Golang for web development, we often need to modify HTTP information. This article will explore how to use Golang to modify HTTP information.

HTTP requests and responses are composed of multiple components, including request/response headers, request/response bodies, etc. The HTTP header is one of the most important components in HTTP requests and responses. It includes a lot of useful information, such as request type, response type, date, etc. Below we will introduce how to use Golang to modify HTTP header information.

Modify HTTP request headers

Golang provides a standard http package that contains components that can create and modify HTTP requests. We can use the http.NewRequest() function to create a request object and use the Header member of the request object to modify the HTTP request header information.

The following is a simple example that demonstrates how to use Golang to modify HTTP request header information:

package main

import (
    "net/http"
    "fmt"
)

func main() {
    // 创建请求对象
    req, err := http.NewRequest("GET", "http://www.example.com", nil)
    if err != nil {
        fmt.Println("Failed to create request:", err)
        return
    }

    // 修改HTTP请求头部信息
    req.Header.Set("User-Agent", "Mozilla/5.0")

    // 发送请求
    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        fmt.Println("Failed to send request:", err)
        return
    }

    defer resp.Body.Close()

    fmt.Println("Response Status:", resp.Status)
}
Copy after login

In the above example, we first create a GET using the http.NewRequest() function request object. We then set the User-Agent header to Mozilla/5.0 using the Header member of the request object. Finally, we send the request by calling the http.DefaultClient.Do(req) method.

Modify HTTP response header

Similar to modifying HTTP request header information, we can also use Golang to modify HTTP response header information. In Golang, we can access and modify HTTP response header information through the http.ResponseWriter interface.

The following is a simple example that demonstrates how to use Golang to modify HTTP response header information:

package main

import (
    "net/http"
    "fmt"
)

func handler(w http.ResponseWriter, r *http.Request) {
    // 修改HTTP响应头部信息
    w.Header().Set("Content-Type", "text/html")

    // 输出响应内容
    fmt.Fprintln(w, "<h1>Hello, World!</h1>")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}
Copy after login

In the above example, we define an HTTP request processing function handler, which accepts Parameters of type http.ResponseWriter and http.Request.

We use the w.Header().Set() method in the handler function to modify the HTTP response header information and output the response content. Finally, we use the http.HandleFunc() function to register the handler function as the processing function of the root path, and use the http.ListenAndServe() function to start the HTTP server.

Summary

This article introduces how to use Golang to modify header information in HTTP requests and responses. The HTTP header is one of the most important components in HTTP requests and responses, and it includes a lot of useful information. When using Golang for web development, we must understand how to modify HTTP header information to better control HTTP requests and responses.

The above is the detailed content of golang modifies http information. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template