欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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的寫法介紹的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    美女视频网站久久| 中文字幕在线观看的网站| 国产麻豆a毛片| 日韩一区二区三区在线观看| 亚洲综合另类小说| 97精品国产露脸对白| 私库av在线播放| 国产精品久久久久影视| 国产成人免费9x9x人网站视频| 国产在视频线精品视频| 久久精品视频在线免费观看| 精品综合免费视频观看| 91麻豆精品国产91久久综合| 久久婷婷一区二区三区| 国产资源在线一区| 91香蕉国产视频| 中文字幕永久在线不卡| 99精品国产视频| 欧美三级中文字幕| 婷婷激情综合网| 91精品人妻一区二区| 久久综合av免费| 国产mv日韩mv欧美| 色婷婷狠狠综合| 亚洲国产一区二区在线播放| 亚洲熟女乱综合一区二区三区| 日韩手机在线导航| 韩国三级电影一区二区| 国产精品久久久免费看| 亚洲精品日产精品乱码不卡| 亚洲成人福利视频| 欧美一级精品在线| 国产在线精品视频| 色综合久久中文字幕综合网| 一区二区三区在线高清| 日b视频在线观看| 精品处破学生在线二十三| 国产伦精品一区二区三区免费| 欧美偷拍第一页| 亚洲国产一二三| 国产sm调教视频| 国产精品久久久久影院老司| 又大又长粗又爽又黄少妇视频| 69久久99精品久久久久婷婷 | 国产精品视频观看| 精品国产午夜福利在线观看| 欧美一区二区三区喷汁尤物| 国产永久精品大片wwwapp| 国产又黄又爽又无遮挡| 亚洲成人福利片| 人妻熟人中文字幕一区二区| 亚洲人成网站色在线观看| 一本加勒比波多野结衣| 中文一区在线播放| 国产精品一区二区在线免费观看| 久久在线免费观看| 91丨porny丨在线| 精品日产卡一卡二卡麻豆| 高清不卡一区二区| 9191成人精品久久| 国产成人免费视频网站高清观看视频 | 国产人妻精品久久久久野外| 日韩欧美一区二区不卡| 成人福利视频在线| 91精品中文字幕一区二区三区| 国产一区二区毛片| 欧美久久久一区| 国产一区二区导航在线播放| 欧美私人免费视频| 国产老妇另类xxxxx| 欧美群妇大交群中文字幕| 国产一区高清在线| 7777精品久久久大香线蕉| 丁香一区二区三区| 欧美成人在线直播| 日本r级电影在线观看| 国产日韩欧美激情| 97人妻天天摸天天爽天天| 亚洲婷婷综合色高清在线| 色噜噜日韩精品欧美一区二区| 一区二区三区中文在线观看| 国产视频不卡在线| 天堂午夜影视日韩欧美一区二区| avtt天堂在线| 国产最新精品精品你懂的| 91精品国产欧美一区二区| av一区二区不卡| 国产欧美日韩在线观看| 天堂久久久久久| 亚洲影视在线播放| 一本大道久久精品懂色aⅴ| 精品在线你懂的| 91麻豆精品国产91| 中文字幕avav| 亚洲天堂中文字幕| 2014亚洲天堂| 精品无人区卡一卡二卡三乱码免费卡| 69久久夜色精品国产69蝌蚪网| 96av麻豆蜜桃一区二区| 欧美国产国产综合| 成人黄色a级片| 蜜桃视频在线观看一区二区| 欧美精品亚洲二区| 91日韩精品一区| 日韩理论片中文av| 一区二区成人免费视频| 国产大片一区二区| 久久久久国色av免费看影院| 国产伦精品一区二区三区妓女| 亚洲成a人片在线观看中文| 在线观看亚洲一区| av亚洲产国偷v产偷v自拍| 国产精品网站在线播放| 超碰人人干人人| 国精产品一区一区三区mba视频| 精品国产伦理网| 日韩精品卡通动漫网站| 午夜国产精品影院在线观看| 欧美日韩免费不卡视频一区二区三区| 免费高清视频在线观看| 影音先锋男人在线| 日韩二区三区四区| 91精品国产麻豆| 亚洲av成人精品一区二区三区| 亚洲国产日韩在线一区模特| 欧美亚洲高清一区二区三区不卡| 99久久99久久免费精品蜜臀| 亚洲欧洲精品天堂一级| 一本色道久久综合狠狠躁的推荐| 成人sese在线| 亚洲欧美视频在线观看| 在线一区二区观看| 手机看片国产精品| 亚洲成人在线免费| 欧美一级免费观看| 亚洲一区二区三区日韩| 国产资源精品在线观看| 国产精品天干天干在线综合| 黄色录像一级片| 99热99精品| 一区二区三区产品免费精品久久75 | 亚洲综合自拍网| 免费在线看一区| 精品国产乱码久久久久久久| 日本理论中文字幕| 国产91丝袜在线观看| 综合久久久久久久| 欧美中文一区二区三区| 四虎精品一区二区| 麻豆精品一区二区综合av| wwwwww.欧美系列| 免费在线观看黄色小视频| 高清不卡在线观看av| 一区二区三区四区不卡在线 | 亚洲成人激情综合网| 91精品国产综合久久久久久漫画| 中文字幕一区二区三区人妻| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品不卡一区| 欧美日韩国产在线播放网站| 香蕉视频黄色在线观看| 国产精品亚洲专一区二区三区 | av在线不卡网| 午夜精品久久久久久| 精品国产免费视频| 国产精品无码99re| 风间由美一二三区av片| 国产在线精品一区二区三区不卡| 综合中文字幕亚洲| 日韩三级免费观看| 一级黄色片日本| 欧洲成人午夜精品无码区久久| 免费观看在线综合色| 中文字幕免费一区| 欧美日韩国产成人在线免费| 色综合99久久久无码国产精品| 成人av电影在线网| 日韩精品视频网| 国产精品久线在线观看| 欧美久久久久久蜜桃| 网站永久看片免费| 欧美性生交xxxxx| 国产馆精品极品| 午夜精品一区二区三区三上悠亚| 久久午夜色播影院免费高清| 在线国产亚洲欧美| 国产欧美小视频| 欧美日韩一区二区三区四区五区六区| 国产乱妇无码大片在线观看| 一区二区三区在线视频观看58| 久久综合久久综合九色| 欧美午夜一区二区| 国产精品视频看看| 日本丰满少妇裸体自慰| av亚洲精华国产精华精华| 久久精品国产一区二区三区免费看| 亚洲日本va在线观看| 久久综合久久久久88| 欧美剧情片在线观看| 高清不卡一二三区|