• 7.4 http request post get


    
    package main
    
    import (
    	"fmt"
    	"io/ioutil"
    	"net/http"
    	"net/url"
    	"strings"
    )
    
    type StringServer string
    
    func (s StringServer) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
    	req.ParseForm()
    	fmt.Printf("Received form data: %v
    ", req.Form)
    	rw.Write([]byte(string(s)))
    }
    
    func createServer(addr string) http.Server {
    	return http.Server{
    		Addr:    addr,
    		Handler: StringServer("Hello world"),
    	}
    }
    
    const addr = "localhost:7070"
    
    func main() {
    	s := createServer(addr)
    	go s.ListenAndServe()
    
    	useRequest()
    	simplePost()
    
    }
    
    func simplePost() {
    	res, err := http.Post("http://localhost:7070",
    		"application/x-www-form-urlencoded",
    		strings.NewReader("name=Radek&surname=Sohlich"))
    	if err != nil {
    		panic(err)
    	}
    
    	data, err := ioutil.ReadAll(res.Body)
    	if err != nil {
    		panic(err)
    	}
    	res.Body.Close()
    	fmt.Println("Response from server:" + string(data))
    }
    
    func useRequest() {
    
    	hc := http.Client{}
    	form := url.Values{}
    	form.Add("name", "Radek")
    	form.Add("surname", "Sohlich")
    
    	req, err := http.NewRequest("POST",
    		"http://localhost:7070",
    		strings.NewReader(form.Encode()))
    	req.Header.Add("Content-Type",
    		"application/x-www-form-urlencoded")
    
    	res, err := hc.Do(req)
    
    	if err != nil {
    		panic(err)
    	}
    
    	data, err := ioutil.ReadAll(res.Body)
    	if err != nil {
    		panic(err)
    	}
    	res.Body.Close()
    	fmt.Println("Response from server:" + string(data))
    }
    
    /*
    Received form data: map[name:[Radek] surname:[Sohlich]]
    Response from server:Hello world
    Received form data: map[surname:[Sohlich] name:[Radek]]
    Response from server:Hello world
    */
    
    
  • 相关阅读:
    django-5.Django 管理后台
    django-3.模板引擎
    django-2.视图与url配置
    django- 1.环境与初始化项目
    css层叠样式表
    bootstrap table 个人心得
    attr和prop的区别 chosen插件
    extract-text-webpack-plugin
    Git常用命令大全,迅速提升你的Git水平
    dropload.js 局部区域加载坑
  • 原文地址:https://www.cnblogs.com/zrdpy/p/8635835.html
Copyright © 2020-2023  润新知