今天在用android-async-http的框架时,发现在调用某个连接的时候,老是抛出org.apache.http.client.CircularRedirectException异常
,进一步引发org.apache.http.client.ClientProtocolException异常,google查了下,发现是连接重定向导致的问题,所以就设置了:
// 设置是否可以重定向
HttpClientParams.setRedirecting(mHttpParams, true);
(好像http请求时,默认就是可以重定向的,不确定)
最后发现第一次重定向可以,第二次在重定向到相同的连接就要报上述的错误,然后有google了一把,发现有个
/**
* Defines whether circular redirects (redirects to the same location) should be allowed.
* The HTTP spec is not sufficiently clear whether circular redirects are permitted,
* therefore optionally they can be enabled
* <p>
* This parameter expects a value of type {@link Boolean}.
* </p>
*/
public static final String ALLOW_CIRCULAR_REDIRECTS = "http.protocol.allow-circular-redirects";
发现了这个,所以进行了以下设置
httpClient.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true); ok,问题解决...
http://stackoverflow.com/questions/6698214/avoid-circular-redirect-using-httpclient-4-1-1

本文介绍了解决使用android-async-http框架时出现CircularRedirectException的方法。通过设置HttpClient参数ALLOW_CIRCULAR_REDIRECTS为true,允许循环重定向,解决了连接重定向过程中出现的问题。

被折叠的 条评论
为什么被折叠?



