go语言实现http

栏目: Go · 发布时间: 7年前

内容简介:ServerClient

Server

package main

import (
	"net/http"
	"os"
	"io"
)

func main()  {
	http.HandleFunc("/",handle)
	http.ListenAndServe("127.0.0.1:8005",nil)
}

func handle(w http.ResponseWriter,r *http.Request)  {
	url:=r.URL.String()
	fp,err:=os.Open("/Users/zmx/go/180726/src/main"+url)
	if err!=nil {
		w.Write([]byte(err.Error()))
		return
	}
	defer fp.Close()
	buf:=make([]byte,4096)
	for  {
		n,err:=fp.Read(buf)
		if err==io.EOF {
			break
		}
		w.Write(buf[:n])
	}
}

Client

package main

import (
	"net/http"
	"fmt"
	"io"
)

func main()  {
	resp,err:=http.Get("http://127.0.0.1:8005/index.go")
	if err!=nil {
		fmt.Print(err)
		return
	}
	defer resp.Body.Close()
	fmt.Println(resp.Status)
	fmt.Println(resp.StatusCode)
	fmt.Println(resp.Body)
	fmt.Println(resp.Header)
	buf:=make([]byte,4096)
	for  {
		n,err:=resp.Body.Read(buf)
		fmt.Print(string(buf[:n]))
		if err!=nil {
			if err==io.EOF {
				break
			} else {
				fmt.Print(err)
			}
		}
	}
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Perl语言入门

Perl语言入门

[美] Randal L.Schwartz、Tom Phoenix / 李晓峰 / 中国电力出版社 / 2002-8 / 48.00元

本书第一版于1993年问世,并从此成为畅销书。本书由Perl社区最著名、最活跃的两位成员写成,是Perl程序设计语言的精髓指南。 Perl最初只是Unix系统管理员的一个工具,在工作日里被用在无数的小任务中。从那以后,它逐步发展成为一种全功能的程序设计语言,特别是在各种计算平台上,它被用作Web编程、数据库处理、XML处理以及系统管理——它能够完成所有这些工作,同时仍然是处理小的日常工作的完......一起来看看 《Perl语言入门》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具