詳解 Java Maximum redirects (100) exceeded
這些是可以用于定制默認(rèn)HttpClient實現(xiàn)行為的參數(shù):
- 'http.protocol.handle-redirects':定義了重定向是否應(yīng)該自動處理。這個參數(shù)期望得到一個Java.lang.Boolean類型的值。如果這個參數(shù)沒有被設(shè)置,HttpClient將會自動處理重定向。
- 'http.protocol.reject-relative-redirect':定義了是否相對的重定向應(yīng)該被拒絕。HTTP規(guī)范需要位置值是一個絕對URI。這個參數(shù)期望得到一個java.lang.Boolean類型的值。如果這個參數(shù)沒有被設(shè)置,那么就允許相對重定向。
- 'http.protocol.max-redirects':定義了要遵循重定向的最大數(shù)量。這個重定向數(shù)字的限制意在防止由破碎的服務(wù)器端腳本引發(fā)的死循環(huán)。這個參數(shù)期望得到一個java.lang.Integer類型的值。如果這個參數(shù)沒有被設(shè)置,那么只允許不多余100次重定向。
- 'http.protocol.allow-circular-redirects':定義環(huán)形重定向(重定向到相同路徑)是否被允許。HTTP規(guī)范在環(huán)形重定向沒有足夠清晰的允許表述,因此這作為可選的是可以開啟的。這個參數(shù)期望得到一個java.lang.Boolean類型的值。如果這個參數(shù)沒有被設(shè)置,那么環(huán)形重定向就不允許。
- 'http.connection-manager.factory-class-name':定義了默認(rèn)的ClientConnectionManager實現(xiàn)的類型。這個參數(shù)期望得到一個java.lang.String類型的值。如果這個參數(shù)沒有被設(shè)置,對于每個默認(rèn)的將使用SingleClientConnManager。
- 'http.virtual-host':定義了在頭部信息Host中使用的虛擬主機名稱,來代替物理主機名稱。這個參數(shù)期望得到一個HttpHost類型的值。如果這個參數(shù)沒有被設(shè)置,那么將會使用目標(biāo)主機的名稱或IP地址。
- 'http.default-headers':定義了每次請求默認(rèn)發(fā)送的頭部信息。這個參數(shù)期望得到一個包含Header對象的java.util.Collection類型值。
- 'http.default-host':定義了默認(rèn)主機。如果目標(biāo)主機沒有在請求URI(相對URI)中明確指定,那么就使用默認(rèn)值。這個參數(shù)期望得到一個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