Obtenir le code d'état HTTP pour les demandes réussies avec Volley
Je suis à la récupération du contenu d'un invalide adresse web à la volée, c'est à dire http://www.gigd32fdsu.com
:
C'est mon code de test:
//Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
final String url = "http://www.gigd32fdsu.com";
//Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener() {
@Override
public void onResponse(Object response) {
//Display the first 500 characters of the response string.
mTextView.setText("Response is: " + response.toString().substring(0, 500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work! " + error.networkResponse.statusCode);
}
});
//Add the request to the RequestQueue.
queue.add(stringRequest);
Lorsque j'exécute ce code je recevoir le rappel onResponse(String) avec une page d'erreur de mon fournisseur d'accès internet. Comment puis-je lire le code d'état HTTP, afin de détecter que le web, l'affichage n'est pas correct?
Grâce
source d'informationauteur Addev
Vous devez vous connecter pour publier un commentaire.
La solution la plus Simple est de remplacer parseNetworkResponse dans makeStringReq(), pas besoin d'une autre classe:
Juste remplacer le parseNetworkResponse méthode, puis prendre la
statusCode
valeur.Je vais faire la réponse de VinceStyling plus complète. Je vais vous dire ce que je fais.
Une fois que vous remplacez cette méthode, enregistrez le statusCode dans votre classe.
Après cela, vous devriez comparer avec HttpURLConnection constantes d'agir en conséquence. Par exemple:
@VinceStyling 's réponse est ok,
ou vous pouvez étendre la Demande de classe et fais ce que tu veux faire.
Par exemple,
puis dans votre gestionnaire de réponse, vous pouvez toujours bénéficier de l'ensemble des messages à partir du serveur.
Essayez-la.