2013-04-06 74 views
2

在我的項目中,我使用Apache的HttpComponents連接到服務器。以下代碼創建HttpClient。爲什麼HttpClient不發送指定的Accept-Language字段?

HttpParams params = new BasicHttpParams(); 
params.setParameter("http.language.Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"); 
HttpProtocolParams.setUserAgent(params, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.19 Awesomium/1.7.1"); 

DefaultHttpClient client = new DefaultHttpClient(params); 

但是,當我執行請求時,不發送接受語言字段。只是以下幾點:

2013/04/06 20:52:07:129 MESZ [DEBUG] headers - >> GET /ws/search.json?text=&levelmin=0&levelmax=80&offset=1 HTTP/1.1 
2013/04/06 20:52:07:129 MESZ [DEBUG] headers - >> Host: tradingpost-live.ncplatform.net 
2013/04/06 20:52:07:129 MESZ [DEBUG] headers - >> Connection: Keep-Alive 
2013/04/06 20:52:07:129 MESZ [DEBUG] headers - >> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.19 Awesomium/1.7.1 
2013/04/06 20:52:07:129 MESZ [DEBUG] headers - >> Cookie: s=abcdefg 

這是一個錯誤還是我做錯了什麼?我只想擁有一個「全局」接受語言字段(對於我從一個客戶端發送的所有請求)。

任何幫助將受到歡迎

回答

1

我沒能解決這個問題,但這裏的任何人發出同樣的問題,解決方法: 創建像

void prepareHttpRequest(HttpRequest request){ 
    request.addHeader("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"); 
} 

中央方法你必須做對於你所做的每個POST或GET請求。我知道這不是很優雅,但我唯一的解決方案,

相關問題