2013-02-12 30 views
0

我使用的寧異步HTTP客戶端,這將請求發送到下游服務器在以下URL格式:(ning)Async HTTP Client是否對查詢參數進行編碼?

http://{downstream-server}:4080/object/id?query_parameters=a1,a2

通知的,在查詢參數。我的問題是,HTTP客戶端似乎執行,像這樣的請求之前編碼查詢參數:

query_parameters=a1%2Ca2

我知道這是因爲下游服務器拋出以下異常:

Invalid query parameter value: a1%2Ca2. Can be a1 or a2

出於某種原因,下游服務器不解碼查詢參數。在客戶端執行請求之前,我檢查request.getQueryParameters()中查詢參數的值,並且它仍然是query_parameters : a1,a2

我可以讓HTTP客戶端不編碼查詢參數嗎?

+0

要說清楚,我所說的客戶端是'com.ning.http.client.AsyncHttpClient' version-1.7.6 – 2013-02-12 08:47:45

回答

1

嘗試

setUseRawUrl(true) 

配置客戶端的時候,像這樣:

new AsyncHttpClient(new AsyncHttpClientConfig.Builder() 
    .setUseRawUrl(true) 
    .build() 
) 

這應該離開網址不變。

相關問題