Go语言_HTTP包

原创 2012年08月23日 18:26:33

在Golang中写一个http web服务器大致是有两种方法:

1 使用net包的net.Listen来对端口进行监听

2 使用net/http包

 

http客户端

这里是讨论如何使用net/http包创建一个web服务器

net/http请求提供了HTTP客户端和服务端的具体实现

import (
    "fmt"
    "net/http"
    "io/ioutil"
)
 
func main() {
    response,_ := http.Get("http://www.baidu.com")
    defer response.Body.Close()
    body,_ := ioutil.ReadAll(response.Body)
    fmt.Println(string(body))
}


除了使用这三个函数来建立一个简单客户端,还可以使用:

http.Client和http.NewRequest来模拟请求

package main
 
import (
    "net/http"
    "io/ioutil"
    "fmt"
)
 
func main() {
    client := &http.Client{}
    reqest, _ := http.NewRequest("GET", "http://www.baidu.com", nil)
     
    reqest.Header.Set("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
    reqest.Header.Set("Accept-Charset","GBK,utf-8;q=0.7,*;q=0.3")
    reqest.Header.Set("Accept-Encoding","gzip,deflate,sdch")
    reqest.Header.Set("Accept-Language","zh-CN,zh;q=0.8")
    reqest.Header.Set("Cache-Control","max-age=0")
    reqest.Header.Set("Connection","keep-alive")
     
    response,_ := client.Do(reqest)
    if response.StatusCode == 200 {
        body, _ := ioutil.ReadAll(response.Body)
        bodystr := string(body);
        fmt.Println(bodystr)
    }
}

clip_image001

如何创建web服务端?


http包封装地非常bt,只需要两行!!:

package main
 
import (
    "net/http"
)
 
func SayHello(w http.ResponseWriter, req *http.Request) {
    w.Write([]byte("Hello"))
}
 
func main() {
    http.HandleFunc("/hello", SayHello)
    http.ListenAndServe(":8001", nil)
 
}

进行端口的监听:http.ListenAndServe(":8001", nil)

注册路径处理函数:http.HandleFunc("/hello", SayHello)

处理函数:func SayHello(w http.ResponseWriter, req *http.Request)



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Go语言学习之net/http包(The way to go)

生命不止,继续go go go!!!从包名就能看到了吧,是golang中提供http的包: provides HTTP client and server implementations.先看一个...

Go语言net/http 解读.

Http包提供实现HTTP客户端和服务端的方法与函数。 Get、Head、Post、PostForm配合使用实现HTTP请求: resp, err := http.Get("http://exam...

Go语言HTTP测试及程序性能调优

这篇要讲的东西,主要是HTTP,WebSocket的测试及如何调优Go程序的一些方法. 分下面几个内容: 一.httptest测试包 二.性能测试 三.怎么利用参数分析和调优程序 四.在运行...

用Go语言写一个简单的HTTP服务器,及静态文件服务器

package mainimport (// "fmt""io""log""net/http""os""regexp""time")func main() {s...

使用Go语言+goproxy库编写的http代理服务器+图片cache保存脚本 第一版完成

使用Go语言+goproxy库编写的http代理服务器+图片cache保存 第一版完成 用法: 1、安装Go 1.5.x 2、命令行设置环境变量GOSRC(Windows下设置到“我的电脑”...
  • cteng
  • cteng
  • 2016-01-14 13:03
  • 2011

Go语言Http Server源码阅读

转自:http://www.cnblogs.com/yjf512/archive/2012/08/22/2650873.html 这篇文章出现的理由是业务上需要创建一个Web Server。创建...

Go语言(服务器开发):实现最简单的HTTP GET/POST接口

Go语言提供了http包,可以很轻松的开发http接口。

基于http2的apns的push发送平台(使用go语言写的)

在linux环境下执行上面的语句。需要改几个参数, 这个http2的ios push推送真的是要了我的老命啊,足足用了两个礼拜的时间,从零基础的go语言开始,一步步的学习和找对应的例子,终于...

Go语言http.Get()超时设置

http://1234n.com/?post/mwsw2r Go语言http.Get()超时设置(更新) Go by 达达 at 2014-02-26 上次写了一遍日志分享http.Get(...
  • yixixi
  • yixixi
  • 2016-10-28 17:37
  • 1824

Go语言 简单的http服务器示例

一个简单的http服务器代码 package main import ( "io" "net/http" "log" ) func HelloServe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)