第十一章 http标准库和其他标准库

简介: 其实这一章的内容, 我们在之前的测试章节都已经涉及过了.

其实这一章的内容, 我们在之前的测试章节都已经涉及过了.

 

一. 模拟一个http服务端


package main
import "net/http"
type handler int
func (h *handler) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
    writer.Write([]byte("abc"))
}
func main() {
    h := new(handler)
    http.ListenAndServe(":8889", h)
}


这就模拟了一个服务端, 我们可以网客户端发各种各样的数据.

 

二. 模拟一个http客户端


package main
import (
    "fmt"
    "io/ioutil"
    "net/http"
)
func main() {
    resp, err := http.Get("http://localhost:8889")
    if err != nil {
        panic("error")
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}


这样就把刚刚服务端发送的abc读取出来了

 

三. 发送带有header的http请求

package main
import (
    "fmt"
    "io/ioutil"
    "net/http"
)
func main() {
    // 使用自定义的request
    request, err := http.NewRequest(http.MethodGet, "http://localhost:8889", nil)
    if err != nil {
        panic("error")
    }
    // 添加一个ua, 这样服务端吧ua取出来, 就可以展示出来了
    request.Header.Add("ua", "ua")
    resp, err := http.DefaultClient.Do(request)
    //resp, err := http.Get("http://localhost:8889")
    if err != nil {
        panic("error")
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}


四. 第四个讲的是pprof, 我之前在测试的时候已经详细研究过pprof用来监控web服务的性能, 这里就不在描述了,

给出一个连接: https://www.cnblogs.com/ITPower/articles/12324659.html  

https://www.cnblogs.com/ITPower/articles/12317631.html

 

五. 其他标准库, 这里也是一代而过, 讲的并不详细, 学完这门课, 我们在集中精力研究各个标准库

相关文章
|
19天前
|
存储 JSON Rust
【一起学Rust | 进阶篇 | reqwest库】纯 Rust 编写的 HTTP 客户端——reqwest
【一起学Rust | 进阶篇 | reqwest库】纯 Rust 编写的 HTTP 客户端——reqwest
410 0
|
19天前
|
存储 网络协议 Go
7天玩转 Golang 标准库之 http/net
7天玩转 Golang 标准库之 http/net
19 2
|
19天前
|
JSON 数据格式 Python
Python 的 requests 库是一个强大的 HTTP 客户端库,用于发送各种类型的 HTTP 请求
【5月更文挑战第9天】`requests` 库是 Python 中用于HTTP请求的强大工具。要开始使用,需通过 `pip install requests` 进行安装。发送GET请求可使用 `requests.get(url)`,而POST请求则需结合 `json.dumps(data)` 以JSON格式发送数据。PUT和DELETE请求类似,分别调用 `requests.put()` 和 `requests.delete()`。
36 2
|
19天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
36 1
|
19天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
22 3
|
19天前
|
数据采集 存储 数据安全/隐私保护
拓展网络技能:利用lua-http库下载www.linkedin.com信息的方法
本文介绍如何使用Lua和lua-http库抓取LinkedIn信息,强调了Lua在爬虫开发中的应用。通过配置亿牛云爬虫代理解决IP封锁问题,实现步骤包括安装库、配置代理、发送HTTP请求、解析响应及提取信息。提供的Lua代码示例展示了下载和存储LinkedIn信息的过程。实验成功展示了Lua爬虫的可行性,但也指出需考虑反爬虫策略以应对实际挑战。
拓展网络技能:利用lua-http库下载www.linkedin.com信息的方法
|
19天前
|
安全 网络安全 开发工具
对象存储oss使用问题之flutter使用http库进行post请求文件上传返回400如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
|
19天前
|
JSON API 数据格式
使用Python的`requests`库进行HTTP请求
【4月更文挑战第12天】在Python中,`requests`库是发送HTTP请求的一个非常流行的工具。它提供了简单且强大的API,使得开发者能够轻松地与RESTful API或其他网络服务进行交互。本文将介绍如何使用`requests`库进行基本的HTTP请求,包括GET、POST等请求方法,以及如何处理响应和异常。
|
19天前
|
XML JSON JavaScript
推荐一个比较好用的c++版本http协议库-cpp-httplib
推荐一个比较好用的c++版本http协议库-cpp-httplib
65 1
|
19天前
|
测试技术 API Python
Python3 新一代Http请求库Httpx使用(详情版)(下)
Python3 新一代Http请求库Httpx使用(详情版)
196 0