golang的cors
时间: 2024-05-09 17:13:28 浏览: 11
CORS(Cross-Origin Resource Sharing)是浏览器中常见的一种安全策略,用于限制在一个网页中加载其他网站的资源。而Golang中的CORS可以通过设置http包中的Header来实现。具体来说,需要在HTTP响应头中设置Access-Control-Allow-Origin为允许跨域访问的域名,比如设置为*则表示允许所有域名访问。同时,也可以设置Access-Control-Allow-Methods、Access-Control-Allow-Headers等字段,用于限制请求方法和请求头。
以下是一个简单的Golang CORS示例代码:
```go
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")
if r.Method == "OPTIONS" {
return
}
// 处理请求
})
http.ListenAndServe(":8080", nil)
}
```