Comment définir des en-têtes personnalisés pour une requête Volley? Pour le moment, il existe un moyen de définir le contenu du corps pour une requête POST. J'ai une simple requête GET, mais je dois transmettre les en-têtes personnalisés avec. Je ne vois pas comment la classe JsonRequest le prend en charge. Est-ce possible du tout?
android
android-volley
Bianca
la source
la source
Réponses:
Il semble que vous remplaciez
public Map<String, String> getHeaders()
, défini dansRequest
, pour renvoyer les en-têtes HTTP souhaités.la source
GsonRequest
remplace la méthodegetHeaders()
pour renvoyer une carte avec les paramètres d'en-tête que vous passez au constructeur.La réponse acceptée avec getParams () est de définir les données du corps POST, mais la question dans le titre demandait comment définir les en-têtes HTTP comme User-Agent. Comme CommonsWare l'a dit, vous remplacez getHeaders (). Voici un exemple de code qui définit User-Agent sur «Nintendo Gameboy» et Accept-Language sur «fr»:
la source
Si vous avez besoin de publier des données au lieu d'ajouter les informations dans l'url.
Si vous souhaitez modifier les en-têtes de la requête, voici ce que vous souhaitez faire:
la source
getHeaders
réponses.Vous pouvez voir cette solution. Il montre comment obtenir / définir des cookies, mais les cookies ne sont que l'un des en-têtes d'une demande / réponse. Vous devez remplacer l'une des classes * Request de Volley et définir les en-têtes requis dans
getHeaders()
Voici la source liée:
}
Et classe MyApp:
la source
À Kotlin,
Vous devez remplacer la méthode getHeaders () comme:
la source
Vous cherchez également une solution à ce problème. voir quelque chose ici: http://developer.android.com/training/volley/request.html
est-ce une bonne idée d'utiliser directement ImageRequest au lieu d'ImageLoader? Il semble qu'ImageLoader l'utilise de toute façon en interne. Manque-t-il quelque chose d'important autre que la prise en charge du cache d'ImageLoader?
la source
essaye ça
la source
Vous pouvez créer une classe Request personnalisée qui étend le StringRequest et remplacer la méthode getHeaders () à l'intérieur comme ceci:
la source
la source
En plus, j'aimerais partager quelque chose que j'ai trouvé concernant
Content-Type
: En plus deJ'ai dû ajouter:
Ne me demandez pas pourquoi, j'ai juste pensé que cela pourrait aider certains autres qui ne peuvent pas faire le
Content-Type
bon ensemble.la source
Voici la définition des en-têtes à partir de l'exemple github:
la source
essaye ça
la source
C'est mon code, n'oubliez pas = objet: si ne mettez pas, ne fonctionne pas
la source