go语言之进阶篇http客户端编程
1、http客户端编程
示例:
http_server.go
package mainimport ("fmt""net/http" )//w, 给客户端回复数据 //r, 读取客户端发送的数据 func HandConn(w http.ResponseWriter, r *http.Request) {fmt.Println("r.Method = ", r.Method)fmt.Println("r.URL = ", r.URL)fmt.Println("r.Header = ", r.Header)fmt.Println("r.Body = ", r.Body)w.Write([]byte("hello go")) //给客户端回复数据 }func main() {//注册处理函数,用户连接,自动调用指定的处理函数http.HandleFunc("/", HandConn)//监听绑定http.ListenAndServe(":8000", nil) }
http_client.go
package mainimport ("fmt""net/http" )func main() {//resp, err := http.Get("http://www.baidu.com")resp, err := http.Get("http://127.0.0.1:8000")if err != nil {fmt.Println("http.Get err = ", err)return}defer resp.Body.Close()fmt.Println("Status = ", resp.Status)fmt.Println("StatusCode = ", resp.StatusCode)fmt.Println("Header = ", resp.Header)//fmt.Println("Body = ", resp.Body)buf := make([]byte, 4*1024)var tmp stringfor {n, err := resp.Body.Read(buf)if n == 0 {fmt.Println("read err = ", err)break}tmp += string(buf[:n])}//读取网页内容,打印出来fmt.Println("tmp = ", tmp) }
执行结果:
先运行服务端:
D:\GoFiles\src\hello_01>go run http_server.go r.Method = GET r.URL = / r.Header = map[User-Agent:[Go-http-client/1.1] Accept-Encoding:[gzip]] r.Body = {}
再运行客户端:
D:\GoFiles\src\hello_01>go run http_client.go Status = 200 OK StatusCode = 200 Header = map[Date:[Sat, 26 Jan 2019 07:04:09 GMT] Content-Length:[8] Content-Ty pe:[text/plain; charset=utf-8]] read err = EOF tmp = hello go
转载于:https://www.cnblogs.com/nulige/p/10323511.html
go语言之进阶篇http客户端编程相关推荐
- 视频教程-C语言程序设计--进阶篇教学视频-C/C++
C语言程序设计--进阶篇教学视频 烟台大学计算机学院教师,二十年余教师生涯,看出了在错综复杂的教育环境中,坚持教育教学的价值与前景.和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,让大一的孩子会编程, ...
- Go语言之进阶篇http服务器获取客户端的一些信息
1.http服务器获取客户端的一些信息 示例: package mainimport ("fmt""net/http" )//w, 给客户端回复数据 //r, ...
- 【c语言】进阶篇学习笔记
C语言高级特性 C语言的高级部分.指针板块,需要理解计算机内存模型,需要格外注意. 函数 程序帮我们补充好的main函数: int main() { //这是定义函数... } 程序的入口点就是mai ...
- 知到/智慧树——程序设计基础(C语言)进阶篇
目录 第一章测试 第二章测试 第三章测试 第四章测试 第五章测试 第一章测试 第1部分 总题数: 10 1 [单选题] (10分) 在C语言中,将属于不同类型的数据作为一个整体来处理时,常用( ). ...
- 字节跳动最新开源!java语言程序设计进阶篇
一面: 阿里巴巴面试答案文末可以领取! 1. 触发新生代GC,如果存活对象总量大于survivor区容量,咋办 2. 如果任务很多,线程池的阻塞队列会撑爆内存的哪个区域 3. 栈在堆上吗 4. GC ...
- 漫游Kafka实战篇之客户端编程实例
原文地址:http://blog.csdn.net/honglei915/article/details/37697655 Kafka视频教程同步首发,欢迎观看! Kafka Producer API ...
- 【C语言笔记进阶篇】第二章:字符串函数和内存函数
目录 (1)分类 (2)字符串函数 A:strlen(求字符串长度) B:strcpy(字符串复制_不受限制) C:strcat(字符串追加_不受限制) D:strcmp(字符串比较_不受限制) E: ...
- 【C语言笔记进阶篇】第一章:指针进阶
目录 (1)字符指针 (2)指针数组 A:什么是指针数组 B:指针数组的用法 (3)数组指针 A:什么是数组指针 B:数组指针的用法 C:关于指针和数组的再总结 (4)数组参数,指针参数 A:一维数组 ...
- go语言之进阶篇主协程先退出导致子协程没来得及调用
1.主协程先退出导致子协程没来得及调用 示例: package mainimport ("fmt""time" )//主协程退出了,其它子协程也要跟着退出 fu ...
最新文章
- flex+android+教程,android开发flex4.5入门教程.pdf
- 真的有人在偷听我们讲话么?
- jAVA 得到Map价值
- boost::mp11::mp_transform_if_q相关用法的测试程序
- arm linux ping 通百度,linux ---之与ARM开发板相互ping 通
- linux远程登录 密钥,使用密钥认证机制远程登录Linux
- 多次点击android版本出现棒棒糖,android – 为前棒棒糖设备创建循环显示
- 信息学奥赛一本通(1253:抓住那头牛)
- # 国王游戏(贪心+大数乘除+微扰法证明)
- 信息处理技术员的作用
- android ant下载安装,ANT+ Plugins
- java shiro原理_Shiro的原理及Web搭建
- H5点击触摸测试,点击延迟测试,点击触摸时长测试案例
- 在linux下恶臭hellotext中作用的?,《Linux内核与程序设计》实验学习笔记
- HTML5+CSS3小实例:炫彩爱心加载特效
- [读书笔记]《小强升职记》
- 机器学习之贝叶斯网络实践(举例)
- 一文带你读懂“TRIZ”
- 秒杀ibluever 免越狱iPad wifi版连接蓝牙“双环”直接上网
- js打开服务器word文件,javascript打开word文档的方法
热门文章
- 手机经常提示找不到服务器,经常出现找不到服务器是什么原因?什么网也打 – 手机爱问...
- 全国青少年软件编程python等级考试-全国青少年软件编程等级考试:Python一级考试大纲...
- python面向对象编程的优点-Python 基础知识----面向对象编程
- python 命令行参数-Python处理命令行参数
- python编程入门经典教程-2020年5个经典python编程入门视频教程推荐学习
- python中if错误-python中的异常处理
- python工程师待遇-Python工程师待遇如何 玩转Python看这里
- python自动化测试视频百度云-Python接口自动化测试 PDF 超清版
- python各个解释器的用途-常见的Python五大解释器!
- python写学生系统-用python编写学生管理系统