当前位置:   article > 正文

Golang获取post、get数据_go获取前台穿来的post

go获取前台穿来的post

         你们在使用golang创建web服务器的时候,有时会需要使用到post和get 而go本身是不携带post的,在这里博主写了一套完整的post键值提取,供大家使用

        这里有完整的web代码段 其中get不需自定义函数,而post则需要,这里需要区分一下

        博主在这里踩了不少坑,值得一提的是,在golang中对于数据类型有着非常大的局限性,导致post数据处理代码整体结构复杂化

  1. package main
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "net/http"
  6. "strings"
  7. )
  8. func post (name string,str string) (returns string){
  9. countSplit := strings.Split(str,"&") //用&切分字符串
  10. post := countSplit //储存至临时变量
  11. var post_len int = 2020 //定义post_len变量 类型为int
  12. post_len = len(post)-1 //获取数组post中数组的数量
  13. for i:=0;i<=post_len;i++{
  14. countSplits := strings.Split(post[i],"=") //用=切分字符串
  15. if name == countSplits[0]{ //判断是否符合条件
  16. returns = countSplits[1] //保存内容至returns
  17. break //跳出循环
  18. }else{
  19. returns = ""
  20. }
  21. }
  22. return returns //返回值
  23. }
  24. func sayHello(w http.ResponseWriter, r *http.Request) {
  25. fmt.Fprintf(w, "Hello astaxie!")
  26. if r.Method != http.MethodPost {
  27. w.WriteHeader(http.StatusMethodNotAllowed)
  28. fmt.Fprintf(w, "invalid_http_method")
  29. return
  30. }
  31. query := r.URL.Query() //GET数据
  32. id := query.Get("id")
  33. fmt.Fprintf(w,id)
  34. defer r.Body.Close()
  35. con,_ := ioutil.ReadAll(r.Body) //获取post的数据
  36. text := post("cookie",string(con))
  37. fmt.Fprintf(w,text)
  38. }
  39. func main() {
  40. //1.注册一个处理器函数
  41. http.HandleFunc("/", sayHello)
  42. //2.设置监听的TCP地址并启动服务
  43. //参数1:TCP地址(IP+Port)
  44. //参数2:handler handler参数一般会设为nil,此时会使用DefaultServeMux。
  45. http.ListenAndServe(":9070", nil)
  46. fmt.Println("helloworld")
  47. }

以下是get数据获取方式

  1. query := r.URL.Query() //GET数据
  2. id := query.Get("id")
  3. fmt.Fprintf(w,id)

以下是post数据获取的调用方式

  1. defer r.Body.Close() //初始化数据
  2. con,_ := ioutil.ReadAll(r.Body) //获取post的数据
  3. text := post("cookie",string(con)) //储存到临时变量
  4. fmt.Fprintf(w,text)

注意,要先复制func post后再使用,否则将会报错

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/814301
推荐阅读
相关标签
  

闽ICP备14008679号