2014-04-29 46 views
0

我嘗試在Android設備上編寫Rest客戶端。 Web服務需要自定義User-Agent值。我設置通過:Android應用程序中的自定義用戶代理

 JsonObjectRequest(Request.Method.POST, url, object, new Response.Listener<JSONObject>(protected Map<String, String> getParams() throws AuthFailureError { 
//some code 
         final HashMap<String, String> map = new HashMap<String, String>(super.getParams()); 
         map.put("User-Agent", "Custom-Agent 1.0"); 
         map.put("Content-Type","application/json"); 
         return map; 
        } 
       }; 

但是服務器接收:

Dalvik/1.4.0 (Linux; U; Android 2.3.3; sdk Build/GRI34) 

如何使用自定義User-Agent價值?

回答

1

我認爲你需要重寫getHeaders()來設置用戶代理 - 你重寫getParams()。不是一回事。

/* (non-Javadoc) 
* @see com.android.volley.Request#getHeaders() 
*/ 
@Override 
public Map<String, String> getHeaders() throws AuthFailureError { 
    Map<String, String> headers = super.getHeaders(); 

    if (headers == null || headers.equals(Collections.emptyMap())) { 
     headers = new HashMap<String, String>(); 
    } 

    headers.put("User-Agent", "Custom-Agent 1.0"); 
    // probably don't need to set the content-type here -- 
    // it should be set for you by Volley 
    //headers.put("Content-Type", "application/json"); 

    return headers; 
} 
+0

愚蠢的錯誤。非常感謝 ;) – user902691

相關問題