简体   繁体   English

Android:如何使用Volley :: Error向服务器发送标头请求

[英]Android: How to send Header request to server using Volley :: Error

I am sending a StringRequest with header using getHeader() through volley but I get an AuthFailure error: 我使用getHeader()通过volley发送带有标头的StringRequest ,但是我收到了一个AuthFailure错误:

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
    HashMap<String, String> headers = new HashMap<>();
    // headers.put("Content-Type", "application/ ");
    headers.put("HTTP_APITOKEN", apiToken);
    headers.put("HTTP_USERID", userId);
    return headers;
}

My server-side php code is 我的服务器端PHP代码是

  if(!isset($_SERVER['HTTP_APITOKEN'])) {
   // Error: Unauthorized
          $this->_sendResponse(401, 'ERROR: Api Token is missing.');
  }
  if(!isset($_SERVER['HTTP_USERID'])) {
   // Error: Unauthorized
   $this->_sendResponse(401, 'ERROR: User ID is missing.');
  }
  if(Userapitoken::checkApiToken($_SERVER['HTTP_APITOKEN'], $_SERVER['HTTP_USERID'])) {
   return TRUE;
  }
  $this->_sendResponse(401, 'ERROR: Api Token OR User ID is invalid.')

And the print of My Server Side error is 并且我的服务器端错误的打印是

[USER] => admin2
[HOME] => /var/www/vhosts/ns3016922.ip-149-202-195.eu
[FCGI_ROLE] => RESPONDER
[HTTP_HOST] => www.example.com
[HTTP_X_REAL_IP] => 39.32.6.94
[HTTP_X_ACCEL_INTERNAL] => /internal-nginx-static-location
[HTTP_CONNECTION] => close
[HTTP_IF_MODIFIED_SINCE] => Sat, 12 Mar 2016 14:31:05 GMT+00:00
[HTTP_USER_AGENT] => Dalvik/2.1.0 (Linux; U; Android 6.0; Android SDK built for x86 Build/MASTER)
[HTTP_ACCEPT_ENCODING] => gzip
[PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[SERVER_SIGNATURE] => <address>Apache Server at www.example.com Port 80</address>

I think you have missed the content type. 我想你错过了内容类型。 Can you try by using the below code : - 您可以尝试使用以下代码: -

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        HashMap<String, String> headers = new HashMap<>();

      headers.put("Content-Type","application/x-www-form-urlencoded;  charset=\"UTF-8");
        headers.put("HTTP_APITOKEN", apiToken);
        headers.put("HTTP_USERID", userId);
        return headers;

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM