zoukankan      html  css  js  c++  java
  • go发送请求get|post

    golang要请求远程网页,可以使用net/http包中的client提供的方法实现。查看了官方网站有一些示例,没有太全面的例子,于是自己整理了一下

    get请求

    get请求可以直接http.Get方法,非常简单

    func httpGet() {
        resp, err := http.Get("http://www.01happy.com/demo/accept.php?id=1")
        if err != nil {
            // handle error
        }
    
        defer resp.Body.Close()
        body, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            // handle error
        }
    
        fmt.Println(string(body))
    }

     

    post请求

    func httpPost() {
    	resp, err := http.Post("http://www.01happy.com/demo/accept.php",
    		"application/x-www-form-urlencoded",
    		strings.NewReader("name=cjb"))
    	if err != nil {
    		fmt.Println(err)
    	}
    
    	defer resp.Body.Close()
    	body, err := ioutil.ReadAll(resp.Body)
    	if err != nil {
    		// handle error
    	}
    
    	fmt.Println(string(body))
    }
    

      

    复杂的请求

    func httpDo() {
    	client := &http.Client{}
    
    	req, err := http.NewRequest("POST", "http://www.01happy.com/demo/accept.php", strings.NewReader("name=cjb"))
    	if err != nil {
    		// handle error
    	}
    
    	req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    	req.Header.Set("Cookie", "name=anny")
    
    	resp, err := client.Do(req)
    
    	defer resp.Body.Close()
    
    	body, err := ioutil.ReadAll(resp.Body)
    	if err != nil {
    		// handle error
    	}
    
    	fmt.Println(string(body))
    }
    

      

  • 相关阅读:
    水晶报表参数字段在代码中赋值
    存储过程编写经验和优化措施
    积分与排名
    大话处理器
    抽象数学
    开普勒:天空的立法者
    Scalable Face Image Retrieval with IdentityBased Quantization and Multireference Reranking
    配色辞典
    图像识别顶级赛事
    Information Geometry
  • 原文地址:https://www.cnblogs.com/zh718594493/p/15323799.html
Copyright © 2011-2022 走看看