accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: pb ecriture de bytearray lorsque que mon URL contient des blancs

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.java ] 

Retour : Accueil du site fr comp lang java   charte stats de ce groupe


  Sujet:   Re: pb ecriture de bytearray lorsque que mon URL contient des blancs  
 De: eraser_h...@yahoo.com (Eraser Head)
 Groupes: fr.comp.lang.java
 Organisation: Service de news de lacave.net
 Date: 19. May 2008, 13:56:52
 References: 1
phil89 wrote:
> Bonsoir
> 
> J'utilise une routine pour ecrire des objets sérialisé, elle
> fonctionne bien, sauf que lorsque je met des caractères blanc dans
> l'URL cela n'est plus ecrit.
> Je n'ai aucun message d'errreur et je n'arrive pas coté servlet dans
> la methode "service".
> Je pense que dans la chaine du POST je dois remplacer le caractère
> blanc par autre chose, j'ai essayé %20% et entre ' ' mais sans succes
> 
> Merci d'avance
> 
> 
> */
> public static int WritePostStreamObjectSocket(Object obj,String
> host,int port,String servlet,String protocol){
> int rt=0;
> try{
> java.io.ByteArrayOutputStream baos = new
> java.io.ByteArrayOutputStream();
> java.io.ObjectOutputStream oos = new
> java.io.ObjectOutputStream(baos);
> oos.writeObject(obj);
> oos.flush();
> oos.close();
> byte b[] = baos.toByteArray();
> 
> java.net.Socket sock=new java.net.Socket(host,port);
> java.io.OutputStream outp=sock.getOutputStream();
> java.io.DataOutputStream dataout=new java.io.DataOutputStream(outp);
> // MON SOUCIS DOIT ETRE DANS LA chaine "servlet" contenant un nom de
> fichier qui à des blancs.
> 
> dataout.writeBytes("POST "+servlet+" HTTP/1.1\r\n");
> dataout.writeBytes("Host: "+host+":"+port+"\r\n");
> dataout.writeBytes("Content-type: application/octet-stream\r\n");
> dataout.writeBytes("Content-length:"+" "+b.length+"\r\n");
> dataout.writeBytes("\r\n");
> //post data
> dataout.write(b);
> //lire la reponse
> java.io.InputStream inp=sock.getInputStream();
> java.io.DataInputStream datain=new java.io.DataInputStream(inp);
> try{
> rt=datain.readInt();
> }
> catch(Exception e1){
> e1.printStackTrace();
> }
> datain.close();
> inp.close();
> dataout.close();
> outp.close();
> sock.close();
> baos.close();
> }
> catch(Exception e){
> System.out.println("Erreur "+e.getMessage());
> e.printStackTrace();
> }
> return rt;
> }
> 

Salut,

Normalement, une URL ne peut pas contenir d'espaces. Il faut que tu les 
encodes, par exemple en les remplaçant par %20.

Regarde par exemple comment sont encodées les URLs sur Wikipedia.

A+

-- 

     Eraser Head

---------------------------------------------------------------
  [...] même si tu comprends pas ce que je dis, tu le comprends
                     (Jean-Claude Van Damme)
---------------------------------------------------------------


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Usenet Gratuit