http的请求包
包含 请求行,请求头,空行,请求体
go的http编程

http server.go

package main

import "net/http"

func main() {

//注册处理函数,用户连接主动调用指定的函数
http.HandleFunc("/",handleFunction)//pattern为要请求的资源地址
//监听绑定
http.ListenAndServe("127.0.0.1:8000",nil)

}
//w 给客户端回复数据
//req读取客户端发送的数据
func handleFunction(w http.ResponseWriter,req*http.Request){

w.Write([]byte("hello world"))
}

http client.go

package main

import (
"fmt"
"net/http"
)

func main() {
res,err := http.Get("http://127.0.0.1:8000")
if err !=nil{
fmt.Println(err)
}
defer res.Body.Close();
if res.StatusCode == 200{
buff := make([]byte,1024)
var tmpstr string
for{
n,_:= res.Body.Read(buff)
if(n==0){
fmt.Println("文件已读完")
break
}
tmpstr +=string(buff[:n])
}

fmt.Println(tmpstr)

}else{
fmt.Println("请求失败")
}

}

go http编程的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  3. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  4. [ 高并发]Java高并发编程系列第二篇--线程同步

    高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...

  5. C#异步编程(一)

    异步编程简介 前言 本人学习.Net两年有余,是第一次写博客,虽然写的很认真,当毕竟是第一次,肯定会有很多不足之处, 希望大家照顾照顾新人,有错误之处可以指出来,我会虚心接受的. 何谓异步 与同步相对 ...

  6. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  7. C#与C++的发展历程第三 - C#5.0异步编程巅峰

    系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...

  8. 猫哥网络编程系列:HTTP PEM 万能调试法

    注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...

  9. 关于如何提高Web服务端并发效率的异步编程技术

    最近我研究技术的一个重点是java的多线程开发,在我早期学习java的时候,很多书上把java的多线程开发标榜为简单易用,这个简单易用是以C语言作为参照的,不过我也没有使用过C语言开发过多线程,我只知 ...

  10. 异步编程 In .NET

    概述 在之前写的一篇关于async和await的前世今生的文章之后,大家似乎在async和await提高网站处理能力方面还有一些疑问,博客园本身也做了不少的尝试.今天我们再来回答一下这个问题,同时我们 ...

随机推荐

  1. Callable+Future

    Future提供了三种功能: 1)判断任务是否完成: 2)能够中断任务: 3)能够获取任务执行结果 package com.moreas; import java.util.concurrent.Ca ...

  2. !与&&优先级的问题

    逻辑否(!)是一元操作符,逻辑与(&&)是二元操作符,一元操作符的优先级高于任何二元操作符. 例如: bool flag:int t: if(!flag && t &g ...

  3. WEB前后端分离开发中的验证与安全问题

    登录验证以及安全问题: 1.请求接口全部用post方式,在后端判断请求方式是否为post 2.登录密码等敏感信息要加密后传输,如用RSA(支付宝里可下载公私钥生成工具),客户端公钥加密,传到服务器后再 ...

  4. python基础 — 局部变量/全局变量

    变量作用区域 变量器作用的额代码范围称为变量的作用与,不同作用区域之间互不影响,函数每部定义的变量一般为局部变量,而不属于任何函数的变量一般为全局变量.所以我们在这里按变量的作用区域分为两类,全局变量 ...

  5. CCS中的linked resource

    一.关于CCS中的linked resource linkded resources 是eclipse中的一个功能,可以将存放在项目所在位置以外某个路径的文件或者文件夹链接至工程项目中.这个功能最大的 ...

  6. Linux 总结篇

    1. sudo -i update upgrade install 包名 (openjdk-8-jdk) autoremove 自动删除不需要的包(remove卸载) sudo apt-get 2. ...

  7. 流程审批时执行BE插件

    1.启用审批流时,BE插件解决方案目标框架必须采用.Net Framwork3.5: 2.BE插件相关DLL部署位置:Applicationser/libs.MailServer/libs: 3.BE ...

  8. enum的应用及flags特性

    enum的作用不做描述,这是C#的基础 设置enum 很简单,本文不做讨论. 但是enum设置值有种特殊方式,如 enum en { a=, b=, c=, d=, e=, …… } 你会发现这个枚举 ...

  9. “http”和“https”的区别是什么?优缺点是什么?

    1. http 的URL 以http:// 开头,https以https:// 开头. 2. http 标准端口是80 ,https是443. 3.https 协议需要到ca申请证书,http不需要. ...

  10. ubuntu安装mysql数据库方法

    ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86.64位和ppc架构.一个比较流行的Linux操作系统,不仅简单易用,而且和Windows相容性非常好.那么 ...