【问题标题】:How to decode a http request packet with okio/okhttp如何使用 okio/okhttp 解码 http 请求数据包
【发布时间】:2019-04-25 08:41:49
【问题描述】:

我可以使用 Okio 和/或 OkHTTP 来解码从 ParcelFileDescriptor 读取的数据包吗?

我正在尝试在 Android 上编写一个基于 VpnService 的广告拦截器。

我发现了一些使用VpnServiceNetGuardNetKnight)的开源项目,所以我可以向他们学习。

我知道 OkHTTP 可以只使用urlmethod 发出请求,这意味着它可以理解GET http://stackoverflow.com Http/1.1 之类的东西,并将其转换为真正的基于TCP/IP 的请求,甚至解码响应。所以我试图阅读一些 Okio 的源代码以了解它的作用,但失败了。

所以我想知道是否可以使用 Okio 的组件来解码/编码 TCP/IP 数据包?

【问题讨论】:

    标签: android vpn okhttp okio


    【解决方案1】:

    是的。使用普通 API 创建一个 Socket,然后使用 Okio.source(Socket)Okio.sink(Socket) 从中获取流。另外不要忘记您可以使用Okio.buffer() 缓冲这些流。

    【讨论】:

    • socket是怎么来的? VpnService 返回一个 ParcelFileDescriptor。
    猜你喜欢
    • 2014-08-25
    • 2019-09-28
    • 2016-08-22
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多