在Go语言中实现跨域资源共享(CORS),可以通过使用net/http
包中的Handler
接口和http.HandlerFunc
类型来处理HTTP请求。
以下是一个简单的示例代码,实现了一个带有CORS支持的HTTP服务器:
package main
import (
"net/http"
)
func main() {
// 创建一个HTTP处理函数
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// 设置响应头,允许所有来源的请求
w.Header().Set("Access-Control-Allow-Origin", "*")
// 处理请求
w.Write([]byte("Hello, CORS!"))
})
// 创建一个HTTP服务器
server := &http.Server{
Addr: ":8080",
Handler: handler,
}
// 启动服务器
server.ListenAndServe()
}
在上面的示例中,我们创建了一个HTTP处理函数,并设置了Access-Control-Allow-Origin
响应头,以允许所有来源的请求。最后,我们创建了一个HTTP服务器,并将处理函数传递给它。
通过这种方式,我们就可以实现一个支持CORS的HTTP服务器。当客户端发送跨域请求时,服务器会在响应头中包含适当的CORS头信息,以允许跨域请求的成功完成。