婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > go 原生http web 服務跨域restful api的寫法介紹

go 原生http web 服務跨域restful api的寫法介紹

熱門標簽:百度地圖標注后傳給手機 涿州代理外呼系統 壽光微信地圖標注 excel地圖標注分布數據 外呼系統顯本地手機號 阿克蘇地圖標注 評價高的400電話辦理 外呼系統用什么卡 電話機器人軟件免費

錯誤寫法

func main() {
    openHttpListen()
}
func openHttpListen() {
    http.HandleFunc("/", receiveClientRequest)
    fmt.Println("go server start running...")
    err := http.ListenAndServe(":9090", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}
func receiveClientRequest(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Access-Control-Allow-Origin", "*")             //允許訪問所有域
    w.Header().Add("Access-Control-Allow-Headers", "Content-Type") //header的類型
    w.Header().Set("content-type", "application/json")             //返回數據格式是json
    r.ParseForm()
    fmt.Println("收到客戶端請求: ", r.Form)

這樣還是會報錯:

說沒有得到響應跨域的頭,chrome的network中確實沒有響應Access-Control-Allow-Origin

正確寫法:

func LDNS(w http.ResponseWriter, req *http.Request) {
    if origin := req.Header.Get("Origin"); origin != "" {
        w.Header().Set("Access-Control-Allow-Origin", origin)
        w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
        w.Header().Set("Access-Control-Allow-Headers",
            "Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization")
    }
    if req.Method == "OPTIONS" {
        return
    }
    // 響應http code
    w.WriteHeader(200)
    query := strings.Split(req.Host, ".")
    value, err := ldns.RAMDBMgr.Get(query[0])
    fmt.Println("Access-Control-Allow-Origin", "*")
    if err != nil {
        io.WriteString(w, `{"message": ""}`)
        return
    }
    io.WriteString(w, value)
}

補充:go http允許跨域

1.創建中間件

import (
 "github.com/gin-gonic/gin"
 "net/http"
)
// 跨域中間件
func Cors() gin.HandlerFunc {
 return func(c *gin.Context) {
  method := c.Request.Method
  origin := c.Request.Header.Get("Origin")
  if origin != "" {
   c.Header("Access-Control-Allow-Origin", origin)
   c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE")
   c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization")
   c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type")
   c.Header("Access-Control-Allow-Credentials", "false")
   c.Set("content-type", "application/json")
  }
  if method == "OPTIONS" {
   c.AbortWithStatus(http.StatusNoContent)
  }
  c.Next()
 }
}

2.在route中引用中間件

router := gin.Default()
// 要在路由組之前全局使用「跨域中間件」, 否則OPTIONS會返回404
router.Use(Cors())

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Django開發RESTful API實現增刪改查(入門級)
  • Django restful framework生成API文檔過程詳解
  • Django JWT Token RestfulAPI用戶認證詳解
  • Python利用Django如何寫restful api接口詳解
  • 詳解Django rest_framework實現RESTful API
  • 詳解Go語言RESTful JSON API創建
  • 基于Go語言構建RESTful API服務

標簽:蘭州 吐魯番 梅河口 汕頭 重慶 銅川 雞西 欽州

巨人網絡通訊聲明:本文標題《go 原生http web 服務跨域restful api的寫法介紹》,本文關鍵詞  原生,http,web,服務,跨域,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《go 原生http web 服務跨域restful api的寫法介紹》相關的同類信息!
  • 本頁收集關于go 原生http web 服務跨域restful api的寫法介紹的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    五月婷婷久久丁香| 日韩av不卡一区二区| 欧美日韩一区精品| 久久精品免视看| 免费成人在线视频观看| 91丨九色丨国产丨porny| 国产午夜精品一区二区三区视频| 免费一级欧美片在线观看| 色哟哟一区二区在线观看| 国产精品超碰97尤物18| 久久成人免费电影| 精品国产sm最大网站免费看| 日本网站在线观看一区二区三区 | 欧美丰满少妇xxxbbb| 亚洲天堂久久久久久久| 日本乱码高清不卡字幕| 午夜精品视频在线观看| 精品国一区二区三区| 91一区在线观看| 在线免费观看视频一区| 一区二区三区波多野结衣在线观看 | 成人高清伦理免费影院在线观看| 欧美精品一区二区三区一线天视频| 久久99深爱久久99精品| 国产精品毛片大码女人 | 国产日韩欧美一区二区三区综合| 麻豆精品一区二区综合av| 久久免费视频色| 色综合天天综合狠狠| 精品一二三四区| 亚洲一区二区四区蜜桃| 国产日韩精品一区| 精品国产一区a| 欧美三区在线观看| 日韩欧美中文字幕精品| 日本免费新一区视频| 亚洲综合在线免费观看| 亚洲国产精品ⅴa在线观看| 欧美色综合久久| 在线观看三级视频欧美| 韩国成人福利片在线播放| 午夜精品福利一区二区三区av | 国产精品久久毛片a| 久久久国产精品麻豆| 久久综合狠狠综合久久综合88| 亚洲人妖av一区二区| 亚洲同性同志一二三专区| 中文字幕在线观看不卡| 亚洲欧洲日本在线| 国产精品久久久久久久久免费桃花| 加勒比av一区二区| 不卡电影一区二区三区| 欧美日韩一区视频| 88在线观看91蜜桃国自产| 666欧美在线视频| 欧美色视频在线| jizzjizzjizz欧美| 欧美天堂一区二区三区| 久久久精品tv| 亚洲女人****多毛耸耸8| 青青草91视频| 久久久久青草大香线综合精品| 91福利在线播放| 一区二区免费在线| 欧美日韩精品一区二区| 免费精品视频最新在线| 亚洲女女做受ⅹxx高潮| 91精品国产福利| 国产不卡在线播放| 日韩和的一区二区| 国产精品福利一区二区三区| 欧美猛男gaygay网站| 91久久精品午夜一区二区| 国产专区欧美精品| 日本不卡中文字幕| 中文字幕一区在线观看| 久久综合色综合88| 欧美丰满少妇xxxxx高潮对白| 波多野结衣亚洲一区| 国产乱子伦视频一区二区三区 | 丁香激情综合五月| 久久国产三级精品| 亚洲综合免费观看高清完整版在线| 久久网站热最新地址| 欧美一区二区视频在线观看2022| 一本久久a久久精品亚洲| 91麻豆精东视频| 99综合影院在线| 欧美日韩一区二区不卡| 成人av动漫在线| 一本色道a无线码一区v| 91精彩视频在线| 日韩女优视频免费观看| 久久亚洲一区二区三区明星换脸| 在线不卡免费av| 久久综合九色综合97_久久久 | 亚洲午夜三级在线| 欧美韩国日本不卡| 夜夜精品浪潮av一区二区三区| 日韩成人免费看| 国产不卡免费视频| 在线亚洲一区二区| 精品三级在线看| 欧美韩国日本综合| 免费成人性网站| av亚洲产国偷v产偷v自拍| 色婷婷国产精品| 欧美亚洲一区三区| 精品日韩一区二区| 精品午夜久久福利影院| 久久国产乱子精品免费女| 激情图片小说一区| 精品影视av免费| 亚洲一区视频在线观看视频| 在线播放日韩导航| 99精品视频一区二区| 亚洲品质自拍视频网站| 欧美r级电影在线观看| 国产一区二区在线免费观看| 亚洲综合成人在线视频| 亚洲国产精品综合小说图片区| 亚洲欧美日韩电影| 亚洲一区在线视频观看| 欧美国产亚洲另类动漫| 国产精品久久久99| 亚洲成人一区在线| 国产在线看一区| 99久久国产免费看| 91麻豆精品国产91久久久使用方法| 555www色欧美视频| 欧美电视剧在线看免费| 国产欧美精品国产国产专区 | 亚洲一区在线观看免费观看电影高清| 欧美videossexotv100| 国产午夜三级一区二区三| 国产亚洲午夜高清国产拍精品| 久久精品一级爱片| 亚洲五码中文字幕| 欧美人牲a欧美精品| 欧美一级国产精品| 丝袜亚洲另类欧美| 亚洲婷婷综合久久一本伊一区| 亚洲激情男女视频| 播五月开心婷婷综合| 一本久久精品一区二区| 精品久久久久香蕉网| 亚洲女厕所小便bbb| 国产在线国偷精品产拍免费yy| 国模娜娜一区二区三区| 成人性生交大片免费| 欧美日韩久久一区| 国产亚洲欧美日韩日本| 加勒比av一区二区| 欧美日本一区二区在线观看| 国产精品成人免费精品自在线观看| 久久精品久久精品| 日韩欧美区一区二| 青椒成人免费视频| 91国产成人在线| 一区二区三区在线高清| 色婷婷国产精品综合在线观看| 久久精品一区四区| 免费在线观看成人| 日韩一区二区三区免费看| 日韩**一区毛片| 精品国产亚洲一区二区三区在线观看 | 国产91丝袜在线观看| 欧美四级电影在线观看| 中文字幕成人网| 中文av一区特黄| 日韩制服丝袜先锋影音| 中日韩av电影| 欧美xxxxx裸体时装秀| 色综合网色综合| 在线免费观看一区| 日韩精品成人一区二区三区| 欧美精品一区在线观看| 成人黄页毛片网站| 成人精品小蝌蚪| www.久久精品| 麻豆成人久久精品二区三区小说| 国产亚洲精久久久久久| 欧美精品丝袜中出| 色88888久久久久久影院野外| 日韩电影在线观看电影| 国产精品天美传媒| 欧美男男青年gay1069videost | 国内精品久久久久影院一蜜桃| 国产精品伦一区| 欧美xxx久久| 日韩午夜av电影| av色综合久久天堂av综合| 国产日韩欧美精品在线| 91精品国产色综合久久不卡蜜臀| 成人app软件下载大全免费| 大胆亚洲人体视频| 91欧美激情一区二区三区成人| 国产69精品久久777的优势| 成人av中文字幕| 欧美中文字幕亚洲一区二区va在线 |