
在近期,我们对poc标准库进行了一波升级,在保留了原来功能的基础上,新增了许多有用功能,现在牛牛带着大家一起来看看。

允许更广泛的输入
在之前,poc.HTTP的第一个参数是[ ]byte,也就意味着我们没法直接把一个构造好的请求结构体直接发出,但是在升级之后,我们就可以这么做了:
preq = http.NewRequest("GET", "https://pie.dev/get")~
rsp, req = poc.HTTP(preq)~
printf("%s", rsp)
poc.BuildReqeust
这是poc标准库新增的一个工具函数,经常在构建请求时使用,一个简单的例子如下:
packet = `GET /post HTTP/1.1
Host: pie.dev
`
// 修改请求方法为POST,并添加body
packet = poc.BuildRequest(packet, poc.replaceMethod("POST"), poc.replaceBody('a=1&b=2', false))
poc.HTTPEx
在以前,我们使用poc.HTTP时返回三个值:responseRaw, requestRaw, error,也就是原始响应报文,原始请求报文和错误,这在某些情况下是不够用的,我们可能还需要更多的信息,比如:服务器响应时间,服务器的URL...
发现了这个缺陷之后,我们为poc标准库添加了一个新的函数:poc.HTTPEx,这个函数的参数与原有的poc.HTTP一样,但是返回值不一样:*Response, *Request, error,也即是响应结构体,请求结构体和错误,通过返回结构体,我们可以获取到这次请求的更多信息。
举一个简单的例子,响应结构体的结构如下:
type LowhttpResponse struct {
RawPacket []byte
RedirectRawPackets [][]byte
PortIsOpen bool
Trac

最低0.47元/天 解锁文章
1907

被折叠的 条评论
为什么被折叠?



