2017-04-23 94 views
0

我有以下捲曲要求:使用的HttpClient使HTTPGET請求

curl -H "AuthToken: anything" http://localhost:9999/my_service/data?%24expand=total%2Callocated 

我想使用Apache的HttpClient,使我的應用程序此調用。我的代碼如下:

HttpGet httpGet = new HttpGet(uri); 
httpGet.setConfig(myConfig); 
httpGet.addHeader("-H", "AuthToken: anything"); 
response = this.httpClient.execute(httpGet, httpClientContext); 

但是,這並不工作 - 我得到響應碼400

我失去的是什麼?任何幫助將不勝感激!

回答

1

-H是curl的選項,而不是服務期望的實際HTTP標頭名稱。

我想你需要在這裏修改標題名稱。

httpGet.addHeader("[Header name your service is expecting]", "AuthToken: anything"); 

而且我想它應該是這樣的

httpGet.addHeader("AuthToken", "anything"); 
1

你肯定在

httpGet.addHeader("-H", "AuthToken: anything");

貌似是-H是一個公正的捲曲標誌-H參數,所以你可以試試

httpGet.addHeader("AuthToken", "anything");

我不知道這是一個根本原因,但它看起來很奇怪。