org.apache.http.client.CircularRedirectException: Circular redirect to http://xxx问题解决
org.apache.http.client.CircularRedirectException: Circular redirect to...
解決方法如下:
HttpParams?params?=?new?BasicHttpParams();? HttpGet?getMethod?=?new?HttpGet("http://XXXX.XXX"); getMethod.getParams().setParameter("http.protocol.allow-circular-redirects",?true); HttpResponse?response?=?httpClient.execute(getMethod); 參考了:http://z1y1m1.blog.163.com/blog/static/518373272013626778409/
另外記錄下相關參數說明:
這些是可以用于定制默認HttpClient實現行為的參數:
-
'http.protocol.handle-redirects':定義了重定向是否應該自動處理。這個參數期望得到一個Java.lang.Boolean類型的值。如果這個參數沒有被設置,HttpClient將會自動處理重定向。
-
'http.protocol.reject-relative-redirect':定義了是否相對的重定向應該被拒絕。HTTP規范需要位置值是一個絕對URI。這個參數期望得到一個java.lang.Boolean類型的值。如果這個參數沒有被設置,那么就允許相對重定向。
-
'http.protocol.max-redirects':定義了要遵循重定向的最大數量。這個重定向數字的限制意在防止由破碎的服務器端腳本引發的死循環。這個參數期望得到一個java.lang.Integer類型的值。如果這個參數沒有被設置,那么只允許不多余100次重定向。
-
'http.protocol.allow-circular-redirects':定義環形重定向(重定向到相同路徑)是否被允許。HTTP規范在環形重定向沒有足夠清晰的允許表述,因此這作為可選的是可以開啟的。這個參數期望得到一個java.lang.Boolean類型的值。如果這個參數沒有被設置,那么環形重定向就不允許。
-
'http.connection-manager.factory-class-name':定義了默認的ClientConnectionManager實現的類型。這個參數期望得到一個java.lang.String類型的值。如果這個參數沒有被設置,對于每個默認的將使用SingleClientConnManager。
-
'http.virtual-host':定義了在頭部信息Host中使用的虛擬主機名稱,來代替物理主機名稱。這個參數期望得到一個HttpHost類型的值。如果這個參數沒有被設置,那么將會使用目標主機的名稱或IP地址。
-
'http.default-headers':定義了每次請求默認發送的頭部信息。這個參數期望得到一個包含Header對象的java.util.Collection類型值。
-
'http.default-host':定義了默認主機。如果目標主機沒有在請求URI(相對URI)中明確指定,那么就使用默認值。這個參數期望得到一個HttpHost類型的值。
總結
以上是生活随笔為你收集整理的org.apache.http.client.CircularRedirectException: Circular redirect to http://xxx问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最简单的基于JavaEE和FFmpeg的
- 下一篇: PCL点云库:Kd树