Java OKHTTP缓存:如何重写用于缓存的响应的URL?
okhttp缓存的密钥无法更改(不修改源代码),并且它是URL()的md5 我正在尝试编写一个拦截器,它将重写响应中的URL。但是在查看了实现之后,我意识到这是不可能的,因为HttpEngine故意从原始请求中获取URLJava OKHTTP缓存:如何重写用于缓存的响应的URL?,java,android,okhttp,Java,Android,Okhttp,okhttp缓存的密钥无法更改(不修改源代码),并且它是URL()的md5 我正在尝试编写一个拦截器,它将重写响应中的URL。但是在查看了实现之后,我意识到这是不可能的,因为HttpEngine故意从原始请求中获取URL 除了分叉源代码外,还有其他解决方法吗?您需要重写请求URL。否则条件GET将无法工作。您需要重写请求URL。否则条件GET将无法工作。您的意思是[通过拦截器]发出请求之前重写请求URL吗?是的,我正在这样做,除了我通过另一个URL访问缓存和通过另一个URL访问Internet。
除了分叉源代码外,还有其他解决方法吗?您需要重写请求URL。否则条件GET将无法工作。您需要重写请求URL。否则条件GET将无法工作。您的意思是[通过拦截器]发出请求之前重写请求URL吗?是的,我正在这样做,除了我通过另一个URL访问缓存和通过另一个URL访问Internet。在应用程序拦截器中重写URL,然后在网络拦截器中重写它。谢谢,Jesse。这是我尝试过的,但最终的缓存操作似乎将使用原始请求的URL,而不是修改后的URL@ashishb-您是如何解决这个问题的?我想我最终使用了一个单独的缓存实现来解决这个问题。您的意思是[通过拦截器]在发出请求之前重写请求URL吗?是的,我正在这样做,除了我通过另一个URL访问缓存和通过另一个URL访问Internet。在应用程序拦截器中重写URL,然后在网络拦截器中重写它。谢谢,Jesse。这是我尝试过的,但最终的缓存操作似乎将使用原始请求的URL,而不是修改后的URL@ashishb-您是如何解决这个问题的?我想我最终使用了一个单独的缓存实现来解决这个问题。