GO标准库学习笔记-HTTP客户端与服务器(net/http)

本文介绍了Go的net/http包,用于处理HTTP协议,包括HTTP服务器和客户端的创建。内容涵盖最简单的HTTP请求和响应,Request和Response对象的使用,HTTP客户端的定制,以及如何创建HTTP服务器。此外,还提到了HTTP方法和状态码的常量定义。
摘要由CSDN通过智能技术生成

概述

net/http可以用来处理HTTP协议,包括HTTP服务器和HTTP客户端,http包主要由五个部分组成:
- Request,HTTP请求对象
- Response,HTTP响应对象
- Client,HTTP客户端
- Server,HTTP服务端

最简单的使用

http包提供了对应于每个HTTP动词的函数来发送HTTP请求,当你不需要对请求进行详细的定制时可以直接使用它们。

resp, err := http.Get("http://example.com/") // GET 

resp, err := http.Post("http://example.com/") // POST

resp, err := http.PostForm("http://example.com/", url.Values{
  "foo": "bar"}) // 提交表单

HTTP请求和响应

HTTP作为一个通信协议,通过报文传递信息;报文分为请求报文和响应报文,在http包中,分别用Reqeust和Response对象进行了抽象。

Request

可以通过NewRequest创建一个Request对象,方法声明如下,需要传入HTTP方法,URL以及报文体进行初始化:

func NewRequest(method, url string, body io.Reader) (*Request, error)

Request对象主要用于数据的存储,结构如下:

type Request struct {

        Method string // HTTP方法
        URL *url.URL // URL

        Proto      string // "HTTP/1.0"
        ProtoMajor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值