2013-06-04 4 views
4

J'ai une petite question étrange: Comment définir l'agent utilisateur dans Volley?Comment définir l'agent utilisateur dans Volley?

J'ai besoin version complète de certains sites (version de bureau), pas version mobile. J'ai essayé de changer variable userAgent de "volley/0" à quelque chose comme "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/27.0.1453.93 Safari/537.36" (mon Chrome). Aucune différence.

Un conseil?

+0

[voici quelques tutoriels] (http://androidcustomviews.com/portfolio/volley-easy-fast-networking-for-android/) cochez cette case. –

+0

https://developer.android.com/training/volley/request-custom.html montre une autre façon. – djunod

Répondre

26

Vous devez remplacer la méthode getHeaders() dans la demande et définissez le « User-agent » en-tête

Dans votre classe de demande:

@Override 
public Map<String, String> getHeaders(){ 
    Map<String, String> headers = new HashMap<String, String>(); 
    headers.put("User-agent", "YOUR_USER_AGENT"); 
    return headers; 
} 
+0

Merci, merci beaucoup! (-: – none

2

À la suite de @ réponse de alex vous devez ajouter cette Fonction @Override à votre objet de requête lors de son ajout à la file d'attente.

Request request = new Request(
    Method.GET, 
    url, 
    Listener listener, 
    ErrorListener errorListener) { 
    @Override 
    public Map<String, String> getHeaders(){ 
     Map<String, String> headers = new HashMap<String, String>(); 
     headers.put("User-agent", "YOUR_USER_AGENT"); 
     return headers; 
    } 
}; 

Pour mieux comprendre comment l'ajouter à vos demandes, voir cette réponse StackOverflow sur les en-têtes de réglage. - How to set custom header in Volley Request

Questions connexes