詳解 Java Maximum redirects (100) exceeded
這些是可以用于定制默認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類型的值。
用法
1
|
HttpClient client = new HttpClient(); |
1
|
GetMethod page = new GetMethod( "http://....." ); |
1
|
page.getParams().setParameter( "http.protocol.max-redirects" , "110" ); |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/u011072139/article/details/67639533