Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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 程序在PC上运行,抛出协议异常:太多重定向:Android上为21_Java_Android_Httpurlconnection_Okhttp - Fatal编程技术网

Java 程序在PC上运行,抛出协议异常:太多重定向:Android上为21

Java 程序在PC上运行,抛出协议异常:太多重定向:Android上为21,java,android,httpurlconnection,okhttp,Java,Android,Httpurlconnection,Okhttp,我已经在SO上发现了一些关于这方面的问题(“这是其中之一”),但我不明白为什么在Android上运行代码时会出现异常,而在我的PC(Windows)上使用JRE时却不会出现异常。我使用完全相同的代码和库 下面是引发异常的代码(一些变量在此范围之前声明): 异常在conn.getResponseCode上引发(如果已删除,它也会在conn.getInputStream上引发)。以下是堆栈跟踪: 28939-28998/com.example.www W/System.err: at com

我已经在SO上发现了一些关于这方面的问题(“这是其中之一”),但我不明白为什么在Android上运行代码时会出现异常,而在我的PC(Windows)上使用JRE时却不会出现异常。我使用完全相同的代码和库

下面是引发异常的代码(一些变量在此范围之前声明):

异常在
conn.getResponseCode
上引发(如果已删除,它也会在
conn.getInputStream
上引发)。以下是堆栈跟踪:

28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:454)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:348)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:520)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
由于我不是向服务器发送请求,而是模拟浏览器,因此无法更改服务器代码

你知道为什么安卓系统在我的电脑上运行顺畅时会出现这种情况吗?我正在考虑为HTTP请求尝试一个不同的库(也许),但我担心这将是一个乏味的工作,并且会有相同的结果。我还考虑增加重定向限制,但这似乎是一个糟糕的解决办法


提前谢谢

你找到答案了吗?@Huaying发生这种情况是因为底层实现完全不同。为了解决这个问题,我将连接配置为不处理重定向,而是手动处理。你找到答案了吗?@Huaying发生这种情况是因为底层实现完全不同。为了解决这个问题,我将连接配置为不处理重定向,而是手动处理它们。
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.processResponseHeaders(HttpURLConnectionImpl.java:454)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:348)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:520)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
28939-28998/com.example.www W/System.err:     at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)