go的入门之路 http Get Post请求

golang之Http协议Get请求

package main
import (
	"net/http"
	"fmt"
	"io/ioutil"
)
func main()  {
	get()
}
func get(){
	resp,err :=    http.Get("http://www.baidu.com")
	if err!=nil {
		//如果没有获取到url数据 会返回一个error 类型错误
		fmt.Println("error=",err,";")
	}
	defer resp.Body.Close()
	//提取响应头数据
	b,err:=ioutil.ReadAll(resp.Body)
	//将字节切片转成成String 输出
	fmt.Print(string(b))
}

  获取百度网页数据 转化成string的形式输出出来.

   defer 关键字是总会执行,类似于java try catch finally 代码块

golang之Http协议Post请求

import (  
    "net/http"  
    "net/url"  
    "fmt"  
    "io/ioutil"  
)  
  
func main()  {  
    post()  
}  
func post()  {  
        //这是一个Post 参数会被返回的地址  
        strinUrl:="http://localhost:8080/aaa"  
        resopne,err:=   http.PostForm(strinUrl,url.Values{"num":{"456"}})  
  
        if err !=nil {  
        fmt.Println("err=",err)  
        }  
        defer func() {  
            resopne.Body.Close()  
            fmt.Println("finish")  
        }()  
         //提取数据
        body,err:=ioutil.ReadAll(resopne.Body)  
        if err!=nil {  
            fmt.Println(" post err=",err)  
        }  
        fmt.Println(string(body))  
}  

运行结果:运行的结果;Key = num, Value = [456]

服务器是我用java语言编写的,服务器会监听8080端口,将客户端提交的数据返回给客户端。goHttp代码量相对于java来讲还是很少的。

通过golang的ioutil包可以直接Http响应头提取到切片[]slice 里面。最后将[]byte 转成string输出

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏owent

C++的backtrace

很多语言的log模块都有一个功能,就是在打log的时候能够追溯调用栈,有的时候对查bug能有点帮助。之前我也想过给我们的log模块加上C++的backtrace...

71430
来自专栏章鱼的慢慢技术路

Direct3D 11 Tutorial 1: Basics_Direct3D 11 教程1:基础

在这第一篇教程中,我们将通过介绍创建最小Direct3D应用程序所必需的元素。每一个Direct3D应用程序必需拥有这些元素才能正常地工作。这些元素包括设置窗口...

13710
来自专栏前端人人

React第三方组件6(状态管理之Mobx的使用②TodoList上)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件6(状态管理之Mobx的使用①简单...

28330
来自专栏游戏杂谈

C#保存文件为无BOM的utf8格式

如图所示,发现用C#的 File.WriteAllLines 方法,无论怎么设置,最终生成的文件都是 PC utf8,也就是CRLF,用SVN进行提交的时候,显...

49730
来自专栏我的博客

安卓开发之应用资源

一、安卓应用源代码分类:界面布局文件、Java源文件、资源文件 二、应用资源文件分类 一类是无法直接访问的资源,保存在assets目录下;另外一类是可以用R资源...

37080
来自专栏潇涧技术专栏

Ways to Use Icons on Android (2)

上一节提到,如果项目中很多自定义的图标,或者是各种不同来源的图标,我们可以通过对Iconify进行扩展来实现,但是在扩展之前我们需要制作自己的图标字体文件,那么...

8010
来自专栏阮一峰的网络日志

React Router 使用教程

真正学会 React 是一个漫长的过程。 ? 你会发现,它不是一个库,也不是一个框架,而是一个庞大的体系。想要发挥它的威力,整个技术栈都要配合它改造。你要学习一...

33940
来自专栏前端新视界

Vue.js 系列教程 2:组件,Props,Slots

原文:intro-to-vue-2-components-props-slots 译者:nzbin 这是关于 JavaScript 框架 Vue.js 五个...

278100
来自专栏黑泽君的专栏

换行符 '\n' 和 回车符 '\r' 的区别?

-----------------------------------------------------------------------------

5.1K10
来自专栏python3

tkinter -- Message

运行程序,可以看到 Hello 之后,Message 显示在它的下一行,这也是 Message 的一个特性。Label 没有

9310

扫码关注云+社区

领取腾讯云代金券