guonaihong
guonaihong
ab 是单核心测试工具,试下wrk呢。我猜和客户端有关系,客户端只能使用一个物理核心的算力,服务端加两个核心,benchmark数据也是上不去的。
怎么理解event stream, 可有具体的例子?
> https://github.com/r3labs/sse 这个库可以持续接受数据,不过我要只一条,也算够了 扫了下源代码, 明白你的意思了, 利用http chunked(分块传输编码) 模拟流式消息推送. 以前在websocket没出来之前用得挺多. 现在一般直接用websocket推送消息.
感谢, pr. 可以使用标准库的, https://pkg.go.dev/encoding/json#Encoder.SetEscapeHTML 这个方法实现这个功能. ```console SetEscapeHTML specifies whether problematic HTML characters should be escaped inside JSON quoted strings. The default behavior is to escape &, to \u0026, \u003c, and...
我先聊聊, 最小化改造的想法 >我看json.marshal的源码有没有escapeHtml的操作也是直接替换的; > 指的是HTMLEscape这个函数吗? 我刚刚也喵了下标准库源代码. json.HTMLEscape主要修改了4处地方, , & 最后就是U+2028到U+2029之间范围的字符 ```go func HTMLEscape(dst *bytes.Buffer, src []byte) { // The characters can only appear in string literals, // so just scan...
是要自动管理服务端生成的cookie?
如果是,可以看下下面的代码 ```go jar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List}) if err != nil { log.Fatal(err) } client := &http.Client{ Jar: jar, } gout.New(client).GET(ts.URL).SetBody("hi cookie").Do() gout.New(client).GET(ts.URL).SetBody("hi cookie2").Do() //抓下包就可以看到自动持有服务端一开始设置的cookie了。 ```
可以通过BindHeader获取cookie的值。 ```go type rspHeader struct { SetCookie string `header:"Set-Cookie"` } var header rspHeader gout.New().GET(ts.URL).SetBody("hi cookie").BindHeader(&header).Do() fmt.Printf("cookie value:%v\n", header) ```
@bequt 欢迎进入go的世界. 有时间也可以一起完善gout的文档.