如何在Java Android中为客户端请求设置HttpPost标头

Sol*_*ker 3 java android oauth http-post http-headers

我无法让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);
Run Code Online (Sandbox Code Playgroud)

此外,执行请求之前的调试语句打印出正确的标头,因此我知道它正在添加,然后稍后删除.

任何帮助将非常感激!

编辑:如果重要的话,这都在AsyncTask中运行.我认为没有,因为有一个NetworkOnMainThread异常抛出,但我认为值得一提.

jdb*_*jdb 20

代码中至少有一个错误.试试这个:

httppost.setHeader("Authorization", "Bearer "+accessToken);
Run Code Online (Sandbox Code Playgroud)