我有以下cURL请求:
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.
我在这里缺少什么?任何帮助将不胜感激!
答案 0 :(得分:1)
-H是curl的一个选项,而不是您的服务所期望的实际HTTP标头名称。
我认为你需要在这里修改标题名称。
httpGet.addHeader("[Header name your service is expecting]", "AuthToken: anything");
我猜它应该是这样的
httpGet.addHeader("AuthToken", "anything");
答案 1 :(得分:1)
您确定
中的-H参数吗? httpGet.addHeader("-H", "AuthToken: anything");
看起来-H只是一个卷曲标志,所以你可以试试
httpGet.addHeader("AuthToken", "anything");
我不知道这是根本原因,但看起来很奇怪。