Megatron King

Results 59 comments of Megatron King

Gzip的用GzipInputStream,chunked解析要用第三方库(可以github找ChunkedInputStream)或者自己写

如果body很大,一次回调可能不会给出完整的body,而是多次回调。

这个要看客户端是否支持http2(h2)协议。建立连接的时候,客户端给提供一个支持的协议列表给服务端,服务端从列表里面选择一个自己也支持的协议类型(当然是优先h2)。浏览器打开https://drpf-g37.proxima.nie.netease.com/ 时候,由于浏览器是支持h2协议的,所以和服务端通信也就是h2协议。你看到的这个日志,可能是因为阴阳师游戏客户端只支持http1.1协议不支持h2,所以通信只能使用http1.1协议,也就是你加粗的这一句“Server selected ALPN protocol: HTTP/1.1"

http2协议netbare本身是支持的,比如你用浏览器打开https://drpf-g37.proxima.nie.netease.com/,可以看到Server selected ALPN protocol: h2。另外,开源的Netbare版本ALPN协商逻辑在设计上有缺陷(某些特殊请求下无法定位到h2协议),HttpCanary内部使用的闭源版本没有问题。 阴阳师的问题,我猜测大概是证书的问题。据我所知,绝大多数有些的CA证书列表都内置在客户端而不是依赖客户端系统的CA证书列表(因为游戏防作弊必须假定客户端系统本身是不可信任的),如果是这种问题,netbare处理不了。

It is difficult for me to find the cause, maybe this is not an issue with NetBare.

I also found this report on some webs, but it's hard to say that it's an issue with NetBare. It may even be the notice before the peer closes the...

Android 10系统吗?用浏览器打开的?