我在使用Apache HttpClient发送HttpPost Header时遇到了问题。
我在发送名称值对等内容时没有问题,但每当我设置或添加一个POST Header时,请求发出后Header就会消失。
我尝试过使用setHeader和addHeader,也尝试了同时使用两者。
以下是我的代码:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://posttestserver.com/post.php");
httppost.setHeader("Authorization: Bearer", accessToken);
httppost.addHeader("Authorization: Bearer", accessToken);
Log.d("DEBUG", "HEADERS: " + httppost.getFirstHeader("Authorization: Bearer"));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httppost, responseHandler);
Log.d("DEBUG", "RESPONSE: " + responseBody);
此外,在请求执行之前的调试语句打印了正确的头部信息,因此我知道它被添加了,但后来却被丢弃了。
任何帮助都将不胜感激!
编辑:如果有影响的话,所有这些都在AsyncTask中运行。否则会抛出NetworkOnMainThread异常,但我认为值得一提。