IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

connexion serveur distant avec httpClient


Sujet :

API standards et tierces Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Par défaut connexion serveur distant avec httpClient
    Bonjour a tous
    Cela fait environ 2 semaines que j 'ai commencé à developper sur android

    Je dois travailler sur une base de donnée qui est hebergé sous un serveur distant
    Dans un premier j 'ai fais une copie de la base afin de pouvoir faire des tests an local.
    Jusque la tout allait bien et mon appli semble fonctionner "nikel"

    Maintenant Je veux pouvoir travailler sur une copie de la base sur le serveur directement
    J'ai juste modifier l'adresse de mon script php par l'adresse du script sur le serveur


    voici ce que j'obtient comme resultat de la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    05-10 11:55:31.091: INFO/System.out(515): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /syrecav3/androidauthentification.php was not found on this server.</p><p>Additionally, a 404 Not Founderror was encountered while trying to use an ErrorDocument to handle the request.</p><hr><address>Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at <a href="http://www.geotechnologie.fr" target="_blank">www.geotechnologie.fr</a> Port 80</address></body></html> ceci est le resultat !!!
    05-10 11:55:31.091: INFO/System.out(515): !!!!!!!!!!!!!!! resultat de la requete : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /syrecav3/androidauthentification.php was not found on this server.</p><p>Additionally, a 404 Not Founderror was encountered while trying to use an ErrorDocument to handle the request.</p><hr><address>Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at <a href="http://www.geotechnologie.fr" target="_blank">www.geotechnologie.fr</a> Port 80</address></body></html>!!!!!!!!!!!!!!!!
    05-10 11:55:31.111: ERROR/log_tag(515): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArrayje ne peux pas convertir
    on voit bien que le resultat de la requete n'est pas correct
    du coup il n'arrive pas à parser les données au format JSON

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    private String strURL = "http://adresse_du_script_sur_le_serveur";
     
    		private ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    		InputStream is = null;
     
    	/*	public void run(){
    			this.createConnexion("");
    			this.conversion_resultat_requete();
    		}*/
     
    		public void createConnexion(String fichier){
     
    			strURL+=fichier;
    	    	// Envoie de la commande http
    	        try{
    	            HttpClient httpclient = new DefaultHttpClient();
    	            HttpPost httppost = new HttpPost(strURL);
    	            httppost.setEntity(new UrlEncodedFormEntity(this.nameValuePairs));
    	            HttpResponse response = httpclient.execute(httppost);
    	            HttpEntity entity = response.getEntity();
    	            is = entity.getContent();
    	            System.out.println("ceci est le input stream : "+ is.toString());
    	        	}
    	        catch(Exception e){
    	        	Log.e("log_tag", "Error in http connection " + e.toString() + "erreur de connexion !!!!!!!!!!");
    				}
    		}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public String conversion_resultat_requete(){
    			String result = null;
    			try{
    	            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
    	            StringBuilder sb = new StringBuilder();
    	            String line = null;
    	            while ((line = reader.readLine()) != null) {
    	        	      sb.append(line );  }
    	            is.close();
    	            result=sb.toString();
    	       	    System.out.println(result + " ceci est le resultat !!!");
    	        }
    	        catch(Exception e){
    	    	    Log.e("log_tag", "Error converting result " + e.toString() + "echec conversion resultat !!!");
    	        }
    		 	return result;
    		}
    Si quelqu'un a une idée.
    JE precise que j'ai pas ce comportement lorsque je travaille en locale(tout fonctionne correctement)
    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    D'après l'erreur, c'est que ta requête ne renvoie pas ce qu'il faut.

    T'as juste copier/coller le code en modifant les url?

    Possible de voir le code du fichier php que tu appel?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    tu obtiens un 404 Not Found, donc il y a bien une tentative de connection mais la page est pas trouvé.
    J'en déduis on serveur était HS au moment de la requete ou tu a une erreur dans ton adresse.
    De plus le probleme est POR L'INSTANT du coté serveur donc en PHP car tu renvoie la page en HTML, chose qu'il ne faudrais pas en cas d'erreur sinon tu te retrouve a parser du HTML

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Par défaut
    Je te mets ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     <?php
    	  mysql_connect("localhost","locatinon","password");
    	  mysql_select_db("nom_de_la_base");
    	  $requete=mysql_query("SELECT login, pwd, id_utilisateur from identifiant
                                      WHERE login = '".$_REQUEST['login']."'
                                      AND pwd ='".$_REQUEST['pwd']."'");
    	  while($row=mysql_fetch_assoc($requete))
    	  	$output[]=$row;
    	  print(json_encode($output));
    	  mysql_close();
    ?>
    comme tu dis la requete ne renvoie pas le bon resultat
    je ne vois pas trop pourquoi

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    En fait deja ton URL dans ton application ne fonctionne pas. click ici test et là tu veras tu aura la page 404.
    il n'y a pas de androidauthentification.php sur ton serveur


    Regarde ton erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    05-10 11:55:31.091: INFO/System.out(515): !!!!!!!!!!!!!!! resultat de la requete : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /syrecav3/androidauthentification.php was not found on this server.</p><p>Additionally, a 404 Not Founderror was encountered while trying to use an ErrorDocument to handle the request.</p><hr><address>Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at <a href="http://www.geotechnologie.fr" target="_blank">www.geotechnologie.fr</a> Port 80</address></body></html>

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Par défaut
    autant pour moi

    j 'avais uen petite erreure dans mon string qui constituait mon adresse
    http://nom_d__script

    si vous regardez plus loin dans le code java
    je fait un createConnexion(String)
    je faisait ensuite une concatenation

    sauf que au moment de la concatenation
    si je fais createConnexion("login.php")

    j obtient comme chaine http://nom_d__scriptlogin.php

    il me manquait donc le / a la fin de "http://nom_d__script"
    pour obtenir ceci
    http://nom_d__script/login.php

    petite erreur d'inattention de ma part

    Merci à tous pour vos reponses

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Par défaut
    tu peux clicker sur résolu si ça marche

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 52
    Par défaut
    difficile de voire ce genre d'erreur quand on est enervé

    Justement j allais le faire je m'étais levé un peu c'est pourquoi.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. jdbc:jtds:sqlserver connexion serveur distant avec Tomcat
    Par Bobble dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 29/04/2012, 17h31
  2. Connexion serveur distant : ORA-12154
    Par jadey dans le forum Connexions aux bases de données
    Réponses: 35
    Dernier message: 12/11/2008, 11h47
  3. Problème de connexion serveur ftp avec vsftpd
    Par petitclem dans le forum Réseau
    Réponses: 22
    Dernier message: 18/06/2008, 15h22
  4. Connexion serveur distante
    Par jgfa9 dans le forum Installation
    Réponses: 0
    Dernier message: 04/02/2008, 10h23
  5. problème de connexion serveur distant
    Par nicoweb371 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 16/12/2005, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo