我无法让 Apache HttpClient 正确发送 HttpPost 标头。
我发送名称值对之类的没有问题,但是每当我设置或添加 POST 标头时,它会在发出请求时消失。
我已经尝试了 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 异常,但我认为它可能值得一提。