Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OKHTTP缓存:如何重写用于缓存的响应的URL?_Java_Android_Okhttp - Fatal编程技术网

Java OKHTTP缓存:如何重写用于缓存的响应的URL?

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

okhttp缓存的密钥无法更改(不修改源代码),并且它是URL()的md5

我正在尝试编写一个拦截器,它将重写响应中的URL。但是在查看了实现之后,我意识到这是不可能的,因为HttpEngine故意从原始请求中获取URL


除了分叉源代码外,还有其他解决方法吗?

您需要重写请求URL。否则条件GET将无法工作。

您需要重写请求URL。否则条件GET将无法工作。

您的意思是[通过拦截器]发出请求之前重写请求URL吗?是的,我正在这样做,除了我通过另一个URL访问缓存和通过另一个URL访问Internet。在应用程序拦截器中重写URL,然后在网络拦截器中重写它。谢谢,Jesse。这是我尝试过的,但最终的缓存操作似乎将使用原始请求的URL,而不是修改后的URL@ashishb-您是如何解决这个问题的?我想我最终使用了一个单独的缓存实现来解决这个问题。您的意思是[通过拦截器]在发出请求之前重写请求URL吗?是的,我正在这样做,除了我通过另一个URL访问缓存和通过另一个URL访问Internet。在应用程序拦截器中重写URL,然后在网络拦截器中重写它。谢谢,Jesse。这是我尝试过的,但最终的缓存操作似乎将使用原始请求的URL,而不是修改后的URL@ashishb-您是如何解决这个问题的?我想我最终使用了一个单独的缓存实现来解决这个问题。